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 需要注意的是for循环中变量声明,不可以使用已经声明过的变量。

例3.10
枚举类型与for、switch语句来结合使用,
即声明枚举类型后,就可以用枚举类型声明一个枚举变量,该枚举变量只能枚举枚举类型中的常量 => 枚举类型的名字.values()
switch语句中表达式的值是枚举类型

调试过程及实验结果
例1.1
JAVA实验报告一_第1张图片

JAVA实验报告一_第2张图片
例2.3
JAVA实验报告一_第3张图片
例2.7
在这里插入图片描述
例2.9
在这里插入图片描述
例3.8
JAVA实验报告一_第4张图片
例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+"元");
			}
		}
	}
}

你可能感兴趣的:(JAVA实验报告)