青岛理工大学java上机实验6
《Java程序设计》上机实验 (2)

班级号_学号_姓名_题号.java(多文件应压缩为rar):实验1: 熟悉上机环境,编写并运行简单的java程序(3学时)实验目的(1)熟悉Java程序开发环境(2)熟悉Java Application和Applet程序的结构及开发步骤(3)熟练掌握if语句的使用(4)掌握Math.sqrt()等常用数学函数的用法(5)熟悉System.out.print()的用法实验内容及要求按Java Application和Applet两种方式分别编写程序,求一元二次方程ax2+bx+c=0的根(系数在程序中给定),并输出。
1、public class wyy{public static void main (String[] w){float a=1,b=5,c=3,d=0,t=0;float k=0,j=0;k=b*b-4*a*c;j=(float)Math.sqrt((float)k);d=(-b+j)/4*a*c;t=(-b-j)/4*a*c;if(k<0)System.out.println("无根!");else if(k>0){System.out.println("第一个根为:"+d);System.out.println("第二个根为:"+t);}else if(k==0)System.out.println("有一个根"+d);}}2、import java.awt.*;import java.applet.*;public class wyy1 extends Applet{public void paint (Graphics g){float a=1,b=5,c=3,d=0,t=0;float k=0,j=0;k=b*b-4*a*c;j=(float)Math.sqrt((float)k);d=(-b+j)/4*a*c;t=(-b-j)/4*a*c;if(k<0)g.drawString("无根!",50,50);else if(k>0){g.drawString("第一个根为:"+d,50,50);g.drawString("第二个根为:"+t,50,100);}else if(k==0)g.drawString("有一个根"+d,50,50);}}3、//import java.io.*;/*一元二次方程求解其根*/import java.util.*;public class wyy{public static void main (String[] w){Scanner r=new Scanner(System.in);float a,b,c,d=0,t=0;float k=0,j=0,h,f,s;System.out.println("请输入a:");//Scanner 输入a的值a=(int)r.nextInt();System.out.println("请输入b:");//Scanner 输入b的值b=(int)r.nextInt();System.out.println("请输入c:");//Scanner 输入c的值c=(int)r.nextInt();System.out.println("方程式为:"+a+"x^2+"+b+"x+"+c);//显示方程式 /*求根*/k=b*b-4*a*c;j=(float)Math.sqrt((float)k);d=(-b+j)/2*a;t=(-b-j)/2*a;if(k<0)//求复根{k=4*a*c-b*b;j=(float)Math.sqrt((float)k);h=(int)(j/2*a);f=-b/2*a;s=-h;System.out.println("有两个复根,这两个复根为:");System.out.println("第一个根为:x1="+h+"i"+f);System.out.println("第二个根为:x2="+s+"i"+f);}else if(k>0)//求实根{System.out.println("有两个实根,这两个实根为:");System.out.println("第一个根为:x1="+d);System.out.println("第二个根为:x2="+t);}else if(k==0){System.out.println("有两个相同实根,这个实根为:");System.out.println("有一个根:x="+d);}}}思考并验证(1)分别给定以下几组系数,给出输出结果a=1,b=5,c=3a=4, b=4, c=1a=2, b=3, c=2:+ i + i(2)如果程序的public类的类名和源文件的文件名不一样会有什么问题?(3)将类的public修饰去掉是否可行?接着再将类名换为其它是否可行?这说明了什么?不可以(4)将程序中main前面的public去掉,重新编译执行你的程序,你看到了什么信息?main method not public(5)将程序中main前面的static去掉,重新编译执行你的程序,你看到了什么信息?为什么?Fatal exception occurred. Program will exit.(6)本次上机中,你还遇到了什么问题,是如何解决的?班级号_学号_姓名_题号.java(多文件应压缩为rar):实验2:控制流程1(3学时)实验目的(1)进一步熟悉使用if语句(2)掌握循环语句实现循环的方法实验内容及要求输出时,只使用下面的语句:System.out.print(“”); //输出一个空格,并且不换行System.out.print(“*”); //输出一个字符’*’,并且不换行System.out.print(“+”); //输出一个字符’+’,并且不换行System.out.println(“*”;) //输出一个字符’*’,并换行编写程序输出(注:在图形的中心处有一个加号’+’):** * ** * * * ** * * + * * ** * * * ** * **public class图形{public static void main(String[ ] args){int i,j,k;for(i=0;i<=2;i++){for(j=0;j<=2-i;j++)System.out.print(" ");for(k=0;k<=2*i;k++)S ystem.out.print("*");System.out.print("\n");}for(i=0;i<7;i++){if(i<3)System.out.print("*");if(i==3)System.out.print("+");if(i>3)System.out.print("*");}System.out.print("\n");for(i=0;i<=2;i++){for(j=0;j<=i;j++)System.out.print(" ");for(k=0;k<=4-2*i;k++)System.out.print("*");System.out.print("\n");}}}思考并验证下面程序片段给出了从键盘输入一个整数的方法:import java.io.*;InputStreamReader ir;BufferedReader in;ir=new InputStreamReader(System.in);in=new BufferedReader (ir);try {String s=in.readLine();int i=Integer.parseInt(s);//转换成整形}catch(IOException e){}(1)如何修改程序,使得输出的图形可以很方便的在水平方向上移动?import java.util.*;public class wyy1{public static void main(String[ ] args){Scanner r=new Scanner(System.in);int i,j,k,a,b;System.out.print("请输入平移量a:");a=r.nextInt();//System.out.print("请输入行数b:");//b=r.nextInt();for(i=0;i<=2;i++){for(j=0;j<=2-i+a;j++)System.out.print(" ");for(k=0;k<=2*i;k++)S ystem.out.print("*");System.out.print("\n");}for(j=0;j<a;j++)System.out.print(" ");for(i=0;i<7;i++){if(i<3)System.out.print("*");if(i==3)System.out.print("+");if(i>3)System.out.print("*");}System.out.print("\n");for(i=0;i<=2;i++){for(j=0;j<=i+a;j++)System.out.print(" ");for(k=0;k<=4-2*i;k++)System.out.print("*");System.out.print("\n");}}}(2)如何修改你的程序,按输入行数n(为奇数)输出图形?import java.util.*;public class wyy1{public static void main(String[ ] args){Scanner r=new Scanner(System.in);int i,j,k,a,b;System.out.print("请输入平移量a:");a=r.nextInt();System.out.print("请输入行数b:");b=r.nextInt();for(i=0;i<=b/2-1;i++){for(j=0;j<=b/2-1-i+a;j++)System.out.print(" ");for(k=0;k<=2*i;k++)S ystem.out.print("*");System.out.print("\n");}for(j=0;j<a;j++)System.out.print(" ");for(i=0;i<b;i++){if(i<b/2)System.out.print("*");if(i==b/2)System.out.print("+");if(i>b/2)System.out.print("*");}System.out.print("\n");for(i=0;i<=b/2-1;i++){for(j=0;j<=i+a;j++)System.out.print(" ");for(k=0;k<=b-3-2*i;k++)System.out.print("*");System.out.print("\n");}}}选作:编程求支付方法的种数:取1元,2元,5元纸币10张,付给18元,有几种办法?import java.util.*;Scanner r=new Scanner(System.in);r.nextInt(); r.nextDouble();(C++版)#include<iostream.h>int main(){int x,y,z,counter=0;for(x=0;x<10;x++)for(y=0;y<10;y++)for(z=0;z<10;z++){if((x+y+z)<=10&&(5*x+2*y+z)==18)counter++;}cout<<counter<<endl;return 0;}public class wyy{public static void main(String[ ] args){int x,y,z,counter=0;for(x=0;x<10;x++)for(y=0;y<10;y++)for(z=0;z<10;z++){if((x+y+z)<=10&&(5*x+2*y+z)==18)counter++;}System.out.println("回文数共有:"+counter+"个!");}}班级号_学号_姓名_题号.java(多文件应压缩为rar):实验3:控制流程2(3学时)实验目的(1)掌握数据类型的含义(2)掌握break语句的使用(3)掌握用三种循环语句实现循环以及循环嵌套的方法实验内容及要求编程,计算11+22+33+……+66import java.util.*;//import java.awt.*;public class wyy1{public static void main(String[ ] args){Scanner r=new Scanner(System.in);double sum=0,h=0,n;System.out.println("请输入n:");//Scanner 输入a的值n=r.nextInt();for(int i=1,j=1;i<=n;i++,j++){h=(double)Math.pow( i,j);sum=sum+h;}System.out.println("sum="+sum);}}思考并验证(1)将内层循环改为另一种循环语句,比较哪种循环语句更适用于本程序?(2)修改程序使之计算11+22+33+……+2020,你的程序能得出正确结果吗?若不能,应如何修改?import java.util.*;//import java.awt.*;public class wyy2{public static void main(String[ ] args){Scanner r=new Scanner(System.in);double sum=0,h=1,n;System.out.println("请输入n:");//Scanner 输入a的值n=r.nextInt();for(int i=1;i<=n;i++){for(int j=1;j<=i;j++)h=h*i;sum=sum+h;h=1;}System.out.println("sum="+sum);}}(3)考虑如何通过使用break语句修改这个程序,求出最大值n,使得11+22+…+n n小于等于long数据类型所能表示的最大值(即Long.MAX_V ALUE),并给出11+22+…+n n的确切值。
青岛理工大学java实验报告(四)

System.out.println(rs.getString(1) + "\t" + rs.getString(2)+"\t" + rs.getString(3)+"\t" + rs.getString(4));
}
} catch (SQLException e) {
// TODO 自动生成的方法存根
Connection conn = null;
String sql;
String url = "jdbc:mysql://localhost:3306/company?"+ "user=mh&password=123456&useUnicode=true&characterEncoding#34;com.mysql.jdbc.Driver");
System.out.println("成功加载MySQL驱动程序");
conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
调
试
过
程
及
实
验
结
果
总
结
在此次实验中,我掌握了JDBC建立数据库程序的一般步骤和数据库操作。数据库是实现很多软件功能一个必不可少的部分,一定要认真学习。虽然这次实验顺利完成了,但数据库的学习还没结束。只有认真学完JDBC和数据库操作才能发挥JAVA语言的最大作用。
附
录
package demo_3;
JAVA课程设计报告--学生网上选课-管理系统

设计报告
课题名称:学生管理系统设计
学院:青岛理工大学琴岛学院
专业班级:计算机科学与技术11(专升本)
学 号:XXXXXXXXX
学 生:XXX
指导教师:代学卿
Hale Waihona Puke 青岛理工大学琴岛学院教务处2011 年12 月30 日
学生
XXX
指导教师
代学卿
课题名称
学生管理系统设计时间2011.12.19—12.30
评语
系部教研室
意见
、系统需求分析
设计地点
分散
设计目的
复习、巩固Java语言的基础知识,进 步加深对Java语言的理解和掌 握;为学生提供了一个既动手又动脑, 独立实践的机会,将课本上的理论知 识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生 适应实际,实践编程的能力;培养学生在项目开发中的创新意识及能力。
指导教师
《Java程序设计》上机实验报告 实验五 流、文件及基于文本的应用

信息科学与工程学院《Java程序设计》上机实验报告专业班级姓名学号主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)2.编写一个程序,能将一个源程序中的空行及注释去掉,并将处理后的内容写到目标文件中。
(源文件名称和目标文件名称均要求以命令行参数形式输入)import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;public class CopyFile {static String delComm(String s){if(s==null)return s;int pos=s.indexOf("//"); //去掉以//开始的注释if(pos<0)return s;return s.substring(0,pos);}public static void main(String args[]){String infname="CopyFile.java";String outfname="CopyFile.txt";if(args.length>=1)infname=args[0];if(args.length>=2)outfname=args[1];try{File fin=new File(infname);File fout=new File(outfname);BufferedReader in = new BufferedReader(new FileReader(fin));PrintWriter out = new PrintWriter(new FileWriter(fout));int cnt=0;String s = in.readLine(); //写字符串while(s != null){主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)cnt ++;s=delComm(s); //去掉以//开始的注释out.println(cnt+":\t"+s);//写出s=in.readLine(); //读入}in.close(); //关闭缓冲读入流及文件读入流的连接out.close();}catch (FileNotFoundException e1){System.out.println("File not found");}catch(IOException e2){e2.printStackTrace();}}}主要问题的出错现象:1)运行程序后,无对应的输出结果出现2)源程序编写过程中,出现方法和类的调用无法完成.出错原因:1)函数调用时候,相关函数输入变量错误2)方法名的书写不符合规范,使得方法变为变量.解决方法及效果:1) 编写和调用类的方法时,注意参数的类型和数量的对应.2)规范命名.常量用大写字母,变量用小写字母开始,类以大写字母开始.实验小结:1) 为每个类分配正确的职责.尽量保持类功能单一. 不要在一个类中做太多事.2) BufferedReader的方法:readLine():String ,当他的返回值是null时,就表示读取完毕了。
青岛理工JAVA实验1

if(k>a)
{
Stringss="你猜的数大了";
JOptionPane.showMessageDialog(null,ss);
}
if(k<a)
{
Stringss="你猜的数小了";
JOptionPane.showMessageDialog(null,ss);
C.10的省略表示。例如110表示为“壹佰壹拾元整”,而10表示为“拾元整”。
D.100表示为“壹佰元整”,1000表示为“壹仟元整”等等。
调
试
过
程
及
实
验
结
果
(详细记录在调试过程中出现的问题及解决方法。记录实验执行的结果)
(2)金额的中文大写形式。
输入
输出
总
结
(对实验结果进行分析,问题回答,实验心得体会及改进意见)
(2)金额的中文大写形式。
给定一个浮点数,将其转换为金额的中文大写形式的字符串。例如,123.45表示为“壹佰贰拾叁元肆角伍分”。注意以下几种情况:
A.当金额为整数时,只表示整数部分,省略小数部分,并添加“整”字,例如123表示成“壹佰贰拾叁元整”。
B.当金额中含有连续的0时,只需写一个“零”即可。例如10005表示为“壹万零伍元整”。
importjavax.swing.JOptionPane;
publicclasscaishuzi {
publicstaticvoidmain (Stringargs[]){
inta= (int)(Math.random()*101);
System.out.println(a);
JAVA实验三6

来,而且它取得是下一个*/
2
try { if(str.length()<4||str.length()>6) { PasswordException e ; e= new PasswordException("密码必须由4到6个数字组成!"); throw e; }
} catch (NumberFormatException e) {
三、源代码 1、 package three; import java.util.Scanner; public class ExceptionText{
class PasswordException extends Exception { public PasswordException(String msg) { super(msg); }
Байду номын сангаас
实验地点:
一、实验目的: 1.了解掌握用户自定义异常处理相关操作(定义——抛出——捕获)。 2.掌握 Java 中字符串的操作,掌握文件流的操作。
二、实验内容: (1)用户自行定义一个异常,编程创建并抛出某个异常类的实例,运行该程序并观察 执行结果。例如:用户密码的合法化验证,要求密码由 4 到 6 个数字组成,若长度不 落在这个范围或不是由数字组成,抛出自己的异常。 (2)编写程序,接受用户输入的 5 个浮点数据和一个文件目录名,将这 5 个数据保存 在文件中,再从该文件中读取出来并且进行从大到小排序,然后再一次追加保存到文 件中。 (3)一家小型超市的店主,需要查询、输入、修改任何一件商品的品名、价格、库存 量信息。商品信息存储在文件中,每件商品的标志为其记录号。
java第一次上机实验报告

int i,j=1;
do{Random r=new Random();Math.abs(r.nextInt());i=r.nextInt(12)+1;
switch(i)
{case 1: System.out.println("随机生成的为"+i+"月January");break;
case 2: System.out.println("随机生成的为"+i+"月February");break;
case 3: System.out.println("随机生成的为"+i+"月March");break;
case 4: System.out.println("随机生成的为"+i+"月April");break;
3)掌握Java基本数据类型、运算符与表达式。
4)理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)
1)编程实现:随机产生20个整数存放到数组中,然后对其按照升序进行排序,最后对排序前后的数组按照每5个数的方式输出。
}
for(i=0;i<20;i++)
{System.out.print(array[i]+" ");
if((i+1)%5==0)
System.out.print('\n');
java上机实验报告

JAVA上机实验报告实验一 JA V A 基本语法一、实验目地了解Java 地数据类型,掌握各种变量地声明方式,理解运算符地优先级,掌握Java 基本数据类型、运算符与表达式,掌握顺序结构、选择结构和循环结构语法地程序设计方法.二、实验要求1、编写一个声明Java 不同数据类型变量地程序.2、编写使用不同选择结构地程序.3、编写使用不同循环结构结构地程序.三、实验内容和步骤1、程序代码:public class SimpleTypes{public static void main(String args[]){byte b=0x55。
short s=0x55ff。
int i=1000000。
long l=0xfffL。
char c='c'。
float f=0.23F。
double d=0.7E-3。
boolean bool=true。
System.out.println("b="+b)。
System.out.println("s="+s)。
System.out.println("i="+i)。
System.out.println("l="+l)。
System.out.println("c="+c)。
System.out.println("f="+f)。
System.out.println("d="+d)。
System.out.println("bool="+bool)。
}}运行结果:2、程序代码:public class TestIf{public static void main(String args[]){boolean leap。
int year=2005。
if((year%4==0&&year%100!=0)||(year%400==0)) //方法1System.out.println(year+" 年是闰年")。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
青岛理工大学课程实验报告
课程名称嵌入式系统
班级软件132
实验日期2015.11.23
姓名张呈庚学号201307223
实验成绩
实验名称实验6 基于数据库的简易记账程序
实验目的及要求
学习使用Eclipse编写运行Java程序,综合应用Java的字符串操作、输入输出流和数据库的相关操作。
实验环境Eclipse
实验内容
写一个Java项目,实现一个简易的机遇文件的记账程序,主要功能有两部分:一为记录消费的相关信息,二为按照消费条目名称查询相关消费信息。
算法描述及实验步骤1.在MySql中创建数据库moneyRecord,其中有一张表records,CREATE
TABLE records (date DATE, itemName VARCHAR(20) , itemPrice double, PRIMARY KEY(itemName));
2.Eclipse中创建Java项目DBConsumptionRecordSystem
3.创建包.qtech,在其中新建类Record,该类有三个成员变量,第
一个为String类型的变量date,表示消费日期;第二个为String类型的itemName,表示消费条目;第三个为Double类型itemPrice,表示消费价格。
创建三个成员变量的getter/setter方法。
4.在包.qtech中新建类DBBean,用于封装底层和数据库相关的直接
操作,创建以下成员变量
该类有四个方法:
public void prepareConnection() 用于创建数据库连接对象,其他类在访问数据库之前要先调用该方法生成数据库连接
public ResultSet executeQuery(String sql, ArrayList params) throws Exception使用PreparedStatement执行SQL查询语句,params封装了SQL中?的参数
public int executeUpdate(String sql,ArrayList params) throws SQLException使用PreparedStatement执行SQL更新语句,params封装了SQL中?的参数
close() 方法关闭rs,stmt,con对象
5.在包.qtech中新建类DataAccessObject,通过该类可以直接进行
对象相关的存储查询操作,该类方法中调用DBBean类的方法完成底层数据库操作,该类有一个成员变量DBBean db,有两个方法:
public void addRecord(Record newRecord)方法用于向数据库中添加一条记录
public Record getRecordByName(String itemName)方法用于依据消费条目查询一条消费记录信息
6.在包.qtech中新建类ComsumptionRecord,在类
ConsumptionRecord中编写方法public void makeRecords ()实现从用户读取信息并存储。
该方法首先输出“请输入消费日期,格式XXXX-XX-XX,-1结束”,输入消费日期后显示“请输入消费条目名称:”,输入后显示“请输入消费钱数:”,将三个信息使用空格作为分隔符组成一行字符串,调用已有方法将信息写入到文件中。
7.在类ConsumptionRecord中编写方法public void searchRecord(),该
方法首先提示“请输入要查询的消费条目名称,-1结束”,如果输入已有的消费条目名称XXX,则显示
“消费条目XXX信息:”并输出相关信息,否则显示“您要查找的消费条目不存在!”
8.在类ConsumptionRecord中编写main方法,提示“请输入操作类型:1.
添加新消费记录; 2.查询消费条目信息;-1退出”,根据用于输入的操作类型调用已有的方法进行操作。
运行程序后结果如下:
调试过程
及实验结
果
总结
本次实验学会了数据库的使用,学习了数据库的增删该查。
以及jdbc链接数据库的知识。
这次的数据库运用实验,对我来说是非常有意义的,首先连接数据库字符串必须用适合mySQL的,其次一定要在项目中有驱动,
否则连接数据库就不会成功。
附
录。