Java选择语句+循环语句练习题

  1. 输入一个数,判断是奇数还是偶数
public class TestNum {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		//输入一个数
		System.out.println("请输入你要判断的数据:");
		int x = input.nextInt();
		//判断一个数据是奇数还是偶数
		if(x%2 == 0) {
			System.out.println(x+"这个数据是偶数");
		}else {
			System.out.println(x+"这个数据是奇数");
		}
	}
}
  1. 根据成绩输出对应的等级,使用if多分支和switch语句分别实现。
public class TestGrade1 {
	public static void main(String[] args) {
		// 给出分数
		Scanner  input  = new Scanner(System.in);
		System.out.println("请输入一个分数");
		double score = input.nextDouble();
		// 根据分数,给出等级
		String grade;
		if (score >= 90) {
			grade = "A";
		} else if (score >= 80) {
			grade = "B";
		} else if (score >= 70) {
			grade = "C";
		} else if (score >= 60) {
			grade = "D";
		} else {
			grade = "E";
		}
		// 输出等级
		System.out.println("score=" + score + ",grade=" + grade);
	}
}
public class TestGrade2 {
	public static void main(String[] args) {
		// 给出分数
		Scanner  input  = new Scanner(System.in);
		System.out.println("请输入一个分数");
		int score = input.nextInt();			
		//根据分数,给出等级
		String grade="E";
		switch(score/10){
			case 10:
			case 9:grade="A";break;
			case 8:grade="B";break;
			case 7:grade="C";break;
			case 6:grade="D";break;
			default :grade="E";				
		}
		//输出等级
		System.out.println("score="+score+",grade="+grade);
	}
}
  1. 根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
public class TestSeason {
	public static void main(String[] args) {
		// 输入月份
		Scanner  input  = new Scanner(System.in);
		System.out.println("请输入月份:");
		int month = input.nextInt();
		//根据月份输出季节
		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("您的输入有误");
		}
	}
}
  1. 判断一个数是否是素数。
public class TestPrime {
	public static void main(String[] args) {
		// 输入一个数
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个数:");
		int n = input.nextInt();
		// 判断是否是素数
		boolean flag = true;
		if (n == 1)
			flag = false;
		else {
			for (int i = 2; i < n; i++) {
				if (n % i== 0) {
					flag = false;
					break;
				}
			}
		}
		// 输出结果
		if (flag) {
			System.out.println(n + "是素数");
		} else {
			System.out.println(n + "不是素数");
		}
	}
}

5.从键盘输入一个班5个学生的分数,求和并输出。

public class TestSum {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		//输入总分并求和
		double sum = 0;
		for (int i = 0; i < 5; i++) {
			System.out.println("请输入第"+(i+1)+"个学生的成绩");			
			double  d = input.nextDouble();
			sum += d;
		}
		//输出总分
		System.out.println("总分是"+sum);
	}
}

6.从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。

public class Test10to2_1 {
	public static void main(String [] args){
		//给出一个十进制数
		int num2 =6;
		//转换
		int num = num2;
		String str="";
		do{
			//除以2得到商
			int div = num/2;
			//得到余数作为二进制位
			int mod = num%2;
			str = mod + str;			
			//商作为被除数
			num = div;
		}while(num!=0);//被除数不是零		
		//输出二进制数
		System.out.println(num2+"------>"+str);		
	}
}
  1. 根据考试成绩输出对应的礼物,90分以上爸爸给买电脑,80分以上爸爸给买手机, 60分以上爸爸请吃一顿大餐,60分以下爸爸给买学习资料。
    要求:该题使用多重if完成
public class Test 1{
	public static void main(String[] args) {
		int score = 80;
		if (score >= 90) {
			System.out.println("电脑");
		} else if (score >= 80) {
			System.out.println("手机");
		} else if (score >= 60) {
			System.out.println("大餐");
		} else {
			System.out.println("学习资料");
		}
	}
}	

2.请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”。

public class Test2{
	public static void main(String[] args) {
		char i, j;
		System.out.println("please enter the first letter:");
		Scanner input = new Scanner(System.in);
		String str = "";
		str = input.next().toLowerCase();
		// 转换成字符串
		i = str.charAt(0);
		switch (i) {
			case 'm':
				System.out.println("Monday\n");	break;
			case 'w':
				System.out.println("Wednesday\n");break;
			case 'f':
				System.out.println("Friday\n");	break;
			case 't':
				System.out.println("please enter the next letter:");
				str = input.next().toLowerCase();
				j = str.charAt(0);
				if (j == 'u')
					System.out.println("Tuesday\n");
				else if (j == 'h')
					System.out.println("Thursday\n");
				else 
					System.out.println("error\n");
				break;
			case 's':
				System.out.println("please enter the next letter:");
				// 转换成字符串
				str = input.next().toLowerCase();
				j = str.charAt(0);
				if (j == 'a')
					System.out.println("Saturday\n");
				else if (j == 'u')
					System.out.println("Sunday\n");
				else 
					System.out.println("error\n");
				break;
			default:
				System.out.println("error\n");
				break;
		}
	}
}

  1. 输入一批整数,使用循环求出最大值与最小值,输入0时结束。
public class Test 3{
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int max = 0, min = 0;
		int nums = 1;
		//输入第一个数,指定它是最大值和最小值
		System.out.println("请输入1个数:");
		nums = input.nextInt();
		max = nums;
		min = nums;
		//依次输入其他数字,并判断是否是最大值和最小值
		for (int i = 2; nums != 0; i++) {
			System.out.println("请输入" +i + "个数:");
			nums = input.nextInt();
			if (nums != 0) {
				if (nums > max) {
					max = nums;
				}
				if (nums < min) {
					min = nums;
				}
			}
		}
		//输出最大值和最小值
		System.out.println("最大值为:" + max);
		System.out.println("最小值为:" + min);
	}
}

4.给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐。

public class Test4 {
	public static void main(String[] args) {
		int money = 20, price = 3;  
		// temp表示每一次购买的可乐瓶数
		int temp = 0;
		// change表示每次购买完可乐剩下的钱
		int change = 0;
		// sum表示总的可乐瓶数
		int sum = 0;   
		// 如果钱数大于可乐价格
		while (money >= price) {
			// 购买可乐
			temp = money / price; 
			// 总可乐瓶数增加
			sum += temp; 
			// 计算买可乐剩下的钱
			change = money % price; 
			// 兑换可乐瓶子,计算剩余的总钱数
			money = temp + change; 
		}
		// 输出结果
		System.out.println(sum); 
	}
}

5.从键盘输入某个十进制小数,转换成对应的二进制小数并输出。

public class Test5{
	public static void main(String [] args){
		//给定一个十进制小数
		double d = 0.6666;
		//转换
		double mul = d;
		StringBuffer buffer = new StringBuffer("0.");
		//定义一个计数器
		int count=0;
		do{
			//乘以2得到积
			double result =  mul*2;//1.250
			//从积中取出整数部分作为二进制位
			int i = (int)result;
			buffer.append(i);
			//计数
			count++;
			//判断是否够7位
			if(count==7){
				break;
			}
			//从积中取出小数部分作为下一次的乘数
			mul= result-i;		
		}while(mul!=0); //判断乘数是否为0
		//输出十进制小数和二进制小数
		System.out.println(d+"---->"+buffer);
	}
}


你可能感兴趣的:(练习)