实验3:Java流程控制
一、实验目的
(1)掌握Java运算符的用法。
(2)掌握表达式的使用和各种运算符的优先级控制。 (3)掌握结构化程序设计的基本结构。
二、实验任务
(1)输入根据给定的Java Application程序,写出运行结果,并说明程序所完成的功能。 (2)按照要求编写Java Application程序。
三、实验内容
1.输入如下所示的Java Application程序,写出运行结果,并说明程序的功能。
1: import java.io.*;
2: public class findNum {
3: public static void main(String args[]) { 4: String s; 5: double d; 6: int i;
7: boolean b = false; 8: do { 9: try { 10: System.out.println(\请输入一个浮点数: \11: BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 12: s = br.readLine(); // 以字符串方式读入 13: i = s.indexOf('.'); //找到小数点的位置 14: d = Double.parseDouble(s); // 将字符串转换成浮点数 15: System.out.println(d + \整数部分为:\16: if( i == -1 ) //若没有小数点,则没有小数部分 17: System.out.println(d + \小数部分为:0.0\18: else // 若有小数点,则截取小数点后的字符串合成浮点数 19: System.out.println(d + \小数部分为:\\
20: 21: 22: 23: 24: 25:
b = false; }
catch(NumberFormatException nfe) {
System.out.println(\输入浮点数格式有误。\\n\ b = true; }
- 6 -
26: catch(IOException ioe) { 27: b = false; 28: } 29: } 30: while(b); //浮点格式错误时重新输入 31: } // end of main 32:} // end of class
运行结果:
请输入一个浮点数:
abc
输入浮点数格式有误 请输入一个浮点数:
3.14
3.14的整数部分为:3 3.14的小数部分为:0.14
程序功能:通过IO类从命令行读入一个字符串,如果输入的字符串为非数字字符串,则提示异常,要求重新输入。如果输入的是一个没有小数点的数字字符串(即整数类型),则将其转换为double型浮点数,最后完成将浮点数的小数位和整数位分别输出。
2.编写一个Java Application程序,输出区间[200,300]上的所有素数,要求写出程序的运行结果。
public class Prime{ public static void main(String[] args){ int i,j; outer: for(i=200;i<=300;i++){ for(j=2;j 运行结果: 211 223 227 229 239 241 251 257 263 269 271 277 281 283 293 - 7 - 实验4:Java类与对象 一、实验目的 (1)掌握Java类的继承关系和派生方法。 (2)理解多态的概念与使用。 (3)掌握接口的定义和使用。 二、实验任务 (1)按要求编写一个Java程序。 (2)按要求完善一个Java程序,编译、运行这个程序,并写出运行结果。 三、实验内容 1.编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。 2.为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。编写一个Java Application程序,创建Student类的对象,并验证新增加的功能。 class Student{ private long studentID; private int classID; private String name; private String sex; private int age; public Student(long studentID,int classID,String name,String sex,int age){ this.studentID=studentID; this.classID=classID; this.name=name; this.sex=sex; this.age=age; } public long getStudentID(){ return studentID; } public int getClassID(){ return classID; } public String getName(){ - 8 - return name; } public String getSex(){ return sex; } public int getAge(){ return age; } public String toString(){ return \学号:\班号:\姓名:\性别:\年龄:\ } } public class StudentDemo{ public static void main(String[] args){ Student s1=new Student(90221,2,\ System.out.println(s1.toString()); } } 运行结果: 学号:90221 班号:2 姓名:Tom 性别:male 年龄:20 - 9 - 实验5:Java继承与多态 一、实验目的 (1)掌握Java类的定义和使用方法。 (2)掌握对象的声明和使用。 (3)构造函数的概念和使用。 (4)掌握类及其成员的访问控制符的使用。 (5)掌握包的概念和使用。 二、实验任务 (1)输入根据给定的Java Application程序,写出运行结果。 (2)按照要求编写Java Application程序。 三、实验内容 1.阅读如下所示的3个Java类的定义,分析它们之间的关系,写出运行结果。1: class SuperClass { 2: int x; 3: SuperClass() { 4: x=3; 5: System.out.println(\6: } 7: void doSomething() { 8: System.out.println(\9: } 11:} 1: class SubClass extends SuperClass { 2: int x; 3: SubClass() { 4: super(); //调用父类的构造方法 5: x=5; //super( ) 要放在方法中的第一句 6: System.out.println(\7: } 8: void doSomething( ) { 9: super.doSomething( ); //调用父类的方法 10: System.out.println(\11: System.out.println(\12: } 14:} - 10 -