Java流程控制10道题
-
计算出1-100之间所有不能被3整除的整数的和大于(或等于)2000的数字。
package day01; public class Lab01 { public static void main(String[] args) { //计算出1-100之间所有不能被3整除的整数的和大于(或等于)2000的数字。 int sum = 0; for (int i = 0; i <= 100; i++){ if (i % 3 != 0) { sum += i; //sum = sum + i; if(sum >= 2000){ System.out.println("该数字是:"+i); System.out.println("和:"+sum); break; } } } } }
-
编写一个程序,最多接受10个数字,并求出其中所有正数的和。用户可通过输入999终止程序,统计用户输入的正数个数,并显示这些正数的和。
package day01; import java.util.Scanner; public class Lab02 { public static void main(String[] args) { //编写一个程序,最多接受10个数字,并求出其中所有正数的和。 // 用户可通过输入999终止程序,统计用户输入的正数个数,并显示这些正数的和。 /* * 1、接受用户录入数字 * 2、循环进行统计用户输入的正数个数 * 3、统计正数的和 * 4、当用户输入999停止 * */ Scanner input =new Scanner(System.in); //接收用户录入 int count = 0; //个数统计 int sum = 0; //和 for (int i = 1; i <= 10; i++){ System.out.println("请输入正整数(最多10个,输入999退出程序):"); int num = input.nextInt(); if (num == 999){ System.out.println("程序中止"); break; // System.exit(0); //退出JVM } if (num > 0){ sum += num; count++; } } System.out.println("和:"+sum); System.out.println("正数个数:"+count); input.close(); } }
-
编写JAVA程序,实现接收用户输入的行数,使用“@“打印输出平行四边形, 要求:
1、针对接收行数进行有效性判断,如果小于零,提示无效行数,结束操作
2、每行输出10个“@“,效果如下:
package day01; import java.util.Scanner; public class Lab03 { public static void main(String[] args) { /*编写JAVA程序,实现接收用户输入的行数,使用“@“打印输出平行四边形, 要求: 1、针对接收行数进行有效性判断,如果小于零,提示无效行数,结束操作 2、每行输出10个“@“,效果如下: */ System.out.print("请输入需要打印的平行四边形行数:"); Scanner scanner = new Scanner(System.in); int hang = scanner.nextInt(); if (hang < 0 ){ System.out.println("无效行数!"); return; } for (int j = 0; j < hang; j++) { for (int a = 0; a < hang - j; a++){ System.out.print(" "); } for (int i = 0; i < 10; i++){ System.out.print("@"); } System.out.println(); //换行 scanner.close(); } } }
-
编写JAVA程序,实现接收用户输入,直到输入500为止,统计输入的数字个数及其中奇数之和,要求:统计的数据中不包括最后输入的结束数字500。
package day01; import java.util.Scanner; public class Lab04 { public static void main(String[] args) { //编写JAVA程序,实现接收用户输入,直到输入500为止,统计输入的数字个数及其中奇数之和,要求:统计的数据中不包括最后输入的结束数字500。 Scanner scanner =new Scanner(System.in); //接收用户录入 int cout = 0; //数字个数 int sum = 0; //奇数和 while (true){ System.out.println("请输入数字(直到输入500为止):"); int input = scanner.nextInt(); if (input == 500){ break; } cout++; sum += input % 2 == 1 ? input : 0; } System.out.println("数字个数:" + cout); System.out.println("奇数和:" + sum); scanner.close(); } } /* * 这是一个简单的Java程序,用于接收用户输入数字,直到输入500为止。 * 在统计数据时,最后输入的数字500不会被计入。 * 程序首先创建一个Scanner对象,用于接收用户输入。 * 然后,定义两个变量count和sum,分别用于统计输入的数字个数和奇数之和。 *程序使用一个while循环,循环条件为输入的数字不等于500。 * 在循环中,首先提示用户输入数字,然后使用scanner.nextInt()方法获取输入的数字。 * 如果输入的数字等于500,则跳出循环。 * 否则,将count加1,并将输入的数字模2的结果与1进行比较,如果结果为1,说明输入的数字是奇数,将其加到sum中。 * 最后,输出统计的数据。 */
-
编写JAVA程序,实现接收班级10名学员JAVA成绩,根据平均分输出该班学员等级。
规定:平均分在
1、100—90之间等级为“A”
2、80—89 等级为“B”
3、70---79 等级为“C”
4、60—69等级为“D”
5、60以下为“E”
要求:需要判断成绩有效范围1--100,如果超出范围,提示“成绩无效”,结束程序,效果图如下:
package day01; import java.util.Scanner; public class Lab05 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int sum = 0; //分数总和 int cout = 0; //人数 int[] scores = new int[10]; for (int i = 0; i <10; i++){ System.out.println("请输入第" + ( i + 1) + "名学员JAVA成绩:"); int input = scanner.nextInt(); if (input < 1 || input > 100){ System.out.println("成绩无效!"); return; } scores[i] += input; sum += input; cout++; } double average = sum / cout; if (average >= 90){ System.out.println("班级平均分为"+average+"班级学员等级为A"); } else if (average >= 80) { System.out.println("班级平均分为"+average+"班级学员等级为B"); }else if (average >= 70) { System.out.println("班级平均分为"+average+"班级学员等级为C"); }else if (average >= 60) { System.out.println("班级平均分为"+average+"班级学员等级为D"); }else { System.out.println("班级平均分为"+average+"班级学员等级为E"); } scanner.close(); } }
-
输入一个五位正整数,使用数组判断它是不是回文数(如12321是回文数)。
package day01; import java.util.Scanner; public class Lab06 { public static void main(String[] args) { //输入一个五位正整数,使用数组判断它是不是回文数(如12321是回文数)。 Scanner scanner = new Scanner(System.in); System.out.print("请输入一个五位正整数:"); int num = scanner.nextInt(); int[] arr = new int[5]; for (int i = 0; i < 5; i++) { arr[i] = num % 10; num /= 10; } boolean isPalindrome = true; for (int i = 0; i < 5; i++) { if (arr[i] != arr[4 - i]) { isPalindrome = false; break; } } if (isPalindrome) { System.out.println("是回文数"); } else { System.out.println("不是回文数"); } scanner.close(); } } /* 这是一个简单的Java程序,用于输入一个五位正整数,并判断它是否是回文数。程序首先创建一个Scanner对象,用于接收用户输入。然后,创建一个长度为5的整数数组arr,用于存储输入的整数的每一位。 程序使用一个for循环,循环次数为5。在循环中,将输入的整数对10取余,得到该位上的数字,并将其添加到arr数组中。然后,将整数除以10,以便进入下一位。 接下来,使用一个布尔变量isPalindrome来判断输入的整数是否是回文数。使用另一个for循环,循环次数为5。在循环中,比较arr数组中对应位上的数字是否相等。如果不相等,将isPalindrome设置为false,并跳出循环。 最后,根据isPalindrome的值输出结果。如果是回文数,则输出“是回文数”,否则输出“不是回文数”。 */
-
从键盘输入一个整数,然后判断数组中是否含有该数,如果存在,输出”猜对了”,否则输出”sorry”。
package day01; import java.util.Scanner; public class Lab07 { public static void main(String[] args) { //从键盘输入一个整数,然后判断数组中是否含有该数,如果存在,输出”猜对了”,否则输出”sorry”。 Scanner input = new Scanner(System.in); int[] nums = new int[]{1,2,3,4,5,6,7,8,9}; System.out.print("请输入一个整数:"); int num = input.nextInt(); boolean guess = false; for (int i = 0; i < nums.length; i++){ if (nums[i] == num){ System.out.println("猜对了"); guess = true; break; } } if (guess == false){ System.out.println("sorry"); } input.close(); } }
-
.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的。加密规则是每位数字都加上5,然后再用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。编写一个程序,用于接收一个四位的整数,并且打印输出加密后的数。
package day01; import java.util.Scanner; public class Lab08 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个四位的整数:"); int num = scanner.nextInt(); int encryptedNum = encrypt(num); System.out.println("加密后的数:" + encryptedNum); scanner.close(); } private static int encrypt(int num) { /* (第四位、第三位、第二位、第一位) */ int temp1 = (num / 1000 + 5) % 10; int temp2 = (num / 100 % 10 + 5 ) % 10; int temp3 = (num / 10 % 10 + 5) % 10; int temp4 = (num % 10 + 5) % 10; int encryptedNum = temp4 * 1000 + temp3 * 100 + temp2 * 10 + temp1; return encryptedNum; } }
-
编写JAVA程序,实现接收用户输入的8个整数,输出最大值,最小值和平均值,要求:通过循环方式,查询数组中最大值和最小值。效果图如下:
package day01; import java.util.Scanner; public class Lab09 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] arr = new int[8]; int sum = 0; for (int i = 0; i < 8; i++){ System.out.print("请输入第" + (i + 1) + "个整数:"); arr[i] = scanner.nextInt(); sum += arr[i]; } int max = arr[0]; int min = arr[0]; for (int i = 1; i < 8; i++){ if (arr[i] > max){ max = arr[i]; } if (arr[i] < min){ min = arr[i]; } } double average = (double) sum / arr.length; System.out.println("**********"); System.out.println("接受数据中最大值为:" + max); System.out.println("接受数据中最小值为:" + min); System.out.println("接受数据中平均值为:" + average); scanner.close(); } }
-
编写JAVA程序,实现使用数组保存用户输入的5个数字,输出数组中下标为奇数的数组成员,并统计输入数据中偶数的个数。如图:
package day01; import java.util.Scanner; public class Lab10 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] arr = new int[5]; for (int i = 0; i < 5; i++){ System.out.print("请输入第" + (i + 1) + "个整数:"); arr[i] = scanner.nextInt(); } System.out.println("***********"); System.out.println("数组中下标为奇数的数组成员:"); for (int i = 1; i < 5; i += 2) { System.out.println("arr[" + i + "] = "+ arr[i] + " "); } int count = 0; for (int i = 0; i < 5; i++) { if (arr[i] % 2 == 0) { count++; } } System.out.println("\n输入数据中偶数的个数:" + count); scanner.close(); } }