Java学习日记之06——调试和基础语法练习

调试和基础语法练习

  • 断点调试
    • 为什么要调试?
    • 怎么进行调试?
  • 基础语法练习
    • 案例一:键盘录入一个月份,输出季节
    • 案例二:评委打分问题

断点调试

为什么要调试?

JAVA程序运行的过程中,可能会出现程序并没有报错,但是程序输出结果并没有如我们所想的一样,这个时候就要进行断点调试,一步一步地运行程序,详细地分析程序运行的过程,找出程序运行过程中的错误。

怎么进行调试?

调试程序的方法:
A:在所需开始调试的程序行双击,此时行上将会出现一个断点,即调试开始的地方。注意:若该程序中有方法,则在方法上也要加上断点。
B:右键鼠标,选择调试方式 - JAVA应用程序,此时会开始调试,在左边资源管理器处出现调试栏,右边会出现变量和断点栏。
C:开始调试,选择上端单步跳过按钮(F6),开始调试,注意此时调试资源配置栏和变量栏的变化。
D:观察变量结果,确定系统问题。

基础语法练习

案例一:键盘录入一个月份,输出季节

分析:
A:键盘录入一个月份,使用Scanner实现。
B:输出季节,使用if或者switch语句实现。
C:若输入数字不在1-12的范围内,要求重新输入,使用while(true)语句实现循环
方法1:使用if语句实现
注意事项:使用||或符号连接变量:
使用了while(True)循环,所以需要在输出以后退出循环,使用break语句。

public class Test1 {
	public static void main(String[] args) {
		Scanner sc= new Scanner(System.in);
		while(true) {
			System.out.println("请输入一个月份");
			int x = sc.nextInt();
				if(x>12|x<1) {
					System.out.println("输入月份错误请重新输入");
				}else if(x==1||x==2||x==3) {
					System.out.println("春季");
					break;
				}else if(x==4||x==5||x==6) {
					System.out.println("夏季");
					break;
				}else if(x==7||x==8||x==9) {
					System.out.println("秋季");
					break;
					}else {
						System.out.println("冬季");
						break;
					}
				}
	}
}

方法2:使用switch语句
注意事项:case穿透原则:若case中没有break,case将默认向下执行,直到遇见break语句。

public class Test2 {
	public static void main(String[] args) {
		//键盘录入一个月份,用Scanner实现
		Scanner sc=new Scanner(System.in);
		while (true){
			System.out.println("请输入一个数:");
			int month = sc.nextInt();
			//case穿透:如果没有break将会往下执行
			switch(month) {
			case 1:
			case 2:
			case 3:
				System.out.println("春季");
				break;
			case 4:
			case 5:
			case 6:
				System.out.println("夏季");
				break;
			case 7:
			case 8:
			case 9:
				System.out.println("秋季");
				break;
			case 10:
			case 11:
			case 12:
				System.out.println("冬季");
				break;
			default:
				System.out.println("你输入的数据有误请重新输入");
			}
			
		}
	}
}

案例二:评委打分问题

题目:

  • 有个编程比赛中,6个评委为参赛选手打分,分数为0-100的整数分;
  • 选手的最后得分为,去掉一个最高分,去掉一个最低分后四个评委的平均值
    分析:键盘录入6个评委的分数,使用数组存储;
    写方法求数组的最高分
    写方法求数组的最低分
    写方法求数组的平均分
    两个明确:3个方法,都需要返回值int,参数列表为int[] arr;
public static void main(String[] args) {
		//键盘录入数据
		int[] arr=new int[6];
		Scanner sc=new Scanner(System.in);
		for(int i =0;i<=arr.length-1;i++) {
			System.out.println("请输入分数");
			int score = sc.nextInt();
			arr[i]=score;
		}
		//调用函数;
		int max=getmax(arr);
		int min=getmin(arr);
		int sum= sum(arr);
		float average = (float)((sum-min-max)/(arr.length-2));
		System.out.println("平均分为:"+average);
	}
	//两个明确:
	//		返回值:int
	//      参数列表:int[]
	//求最大值
	public static int getmax(int[] arr){
		int max = arr[0];
		for(int i=0;i<=arr.length-1;i++) {
			if(arr[i]>max) {
				max  = arr[i];
			}
		}
		return max;
	}
	//求最小值
	public static int getmin(int[] arr) {
		int min = arr[0];
		for(int i=0;i<=arr.length-1;i++) {
			if(arr[i]

你可能感兴趣的:(JAVA)