JAVA实验报告
JAVA实验报告一
实验内容
第2版(或者第3版)
1、cmd 环境下,编译和运行例1.1;
2、Eclipse环境下,新建相应的工程、包、类,分别输入例2.3、例2.7、例2.9、例3.8、
例3.10,调试运行输出结果。
算法描述及实验步骤
(用自然语言或算法流程图的形式表达算法设计思想与算法实现步骤,注意不是贴源代码,百度搜索相关学习资料)
例1.1
记事本保存Hello.java源文件,使用Javac.exe进行编译,然后得到两个字节码文件即Hello.class和Student.class,然后解释器java.exe来解释、执行字节码文件,然后就程序运行了。
例2.3
用Scanner类创建对象,然后用reader对象调用方法nextDouble,读取用户在命令行输入的基本类型数据,然后while循环统计输入所有数的和以及输入的个数,来计算出这些数的和以及平均值。
例2.7
主要是掌握Arrays类调用各种方法来实现排序和二分法查找
首先是Arrays.sort()先将一个数组a排序,Arrays.toString()并输出排序后的结果;
然后使用二分法Arrays.binarySearch()来判断一个数是否和数组中某个元素的值相同,若相同则返回该值,不相同则返回一个负数。
例2.9
Java使用关键字enum来声明枚举类型 => enum 枚举名{常量1,常量2,······}
该例有两个源文件,需编辑保存两次来实现星期的枚举。
例3.8
数组与for语句的运用 => for(声明循环变量:数组的名字){···}
这个例子分别展现了for语句的传统方式和改进方式来遍历数组
即for(int n=0;n<a.length;n++) 和for(int i:a)
需要注意的是for循环中变量声明,不可以使用已经声明过的变量。
例3.10
枚举类型与for、switch语句来结合使用,
即声明枚举类型后,就可以用枚举类型声明一个枚举变量,该枚举变量只能枚举枚举类型中的常量 => 枚举类型的名字.values()
switch语句中表达式的值是枚举类型
调试过程及实验结果
例1.1
例2.3
例2.7
例2.9
例3.8
例3.10
(源程序,对关键步骤需要添加注释)
例1.1
public class Hello{
public static void main(String args[]){
System.out.println("这是一个简单的Java应用程序");
Student stu=new Student();
stu.speak("We are students");
}
}
class Student{
public void speak(String s){
System.out.println(s);
}
}
例2.3
package 课本例题chapter2;
import java.util.Scanner;
public class Example2_3 {
public static void main(String[] args) {
System.out.println("请输入若干个数,每输入一个数回车确认");
System.out.println("最后输入数字0结束输入操作");
Scanner reader =new Scanner(System.in);
try{
double sum=0;
int m=0;
double x=reader.nextDouble();
while(x!=0) {
m=m+1;
sum=sum+x;
x=reader.nextDouble();
}
System.out.println(m+"个数的和"+sum);
System.out.println(m+"个数的平均值"+sum/m);
}
finally {reader.close();}
}
}
例2.7
package 课本例题chapter2;
import java.util.Arrays;
public class Example2_7 {
public static void main(String[] args) {
int [] a= {12,34,9,23,45,6,45,90,123,19,34};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
int number=45;
int index=Arrays.binarySearch(a,number);
if(index>=0) {
System.out.println(number+"和数组中索引为"+index+"的元素值相同");
}
else {
System.out.println(number+"不与数组中的任何元素值相同");
}
}
}
例2.9
package 课本例题chapter2;
public enum Weekday{
星期一 ,星期二 ,星期三, 星期四, 星期五 ,星期六 ,星期日
}
package 课本例题chapter2;
public class Example2_9 {
public static void main(String[] args) {
Weekday x=Weekday.星期日;
if(x==Weekday.星期日) {
System.out.println(x);
System.out.println("今天我休息");
}
}
}
例3.8
package 课本例题chapter3;
public class Example3_8 {
public static void main(String[] args) {
int a[]= {1,2,3,4};
char b[]= {'a','b','c','d'};
for(int n=0;n<a.length;n++) {
System.out.println(a[n]);
}
for(int n=0;n<b.length;n++) {
System.out.println(b[n]);
}
for(int i:a) {
System.out.println(i);
}
for(char ch:b) {
System.out.println(ch);
}
}
}
例3.10
package 课本例题chapter3;
enum Fruit{
苹果, 梨, 香蕉, 西瓜, 芒果
}
public class Example3_10 {
public static void main(String[] args) {
double price=0;
boolean show=false;
for(Fruit fruit:Fruit.values()) {
switch(fruit) {
case 苹果:price=1.5;
show=true;
break;
case 芒果 :price=6.8;
show=true;
break;
case 香蕉 :price=2.8;
show=true;
break;
default:show=false;
}
if(show) {
System.out.println(fruit+"500克的价格:"+price+"元");
}
}
}
}