一、选择
B D(死循环) E(switch) BC
二、编程
1、读入一个整数,表示一个人的年龄。
如果小于6岁,则输出“儿童”, 6岁到13岁,输出“少儿”; 14岁到18岁,输出“青少年”; 18岁到35岁,输出“青年”; 35岁到50岁,输出“中年”; 50 岁以上输出“中老年”。
import java.util.*; /* * 读入一个整数,表示一个人的年龄。 * 如果小于6岁,则输出“儿童”, * 6岁到13岁,输出“少儿”; * 14岁到18岁,输出“青少年”; * 18岁到35岁,输出“青年”; * 35岁到50岁,输出“中年”; * 50 岁以上输出“中老年”。 */ public class AgeChoose { public static void main(String[] args) { while(true){ System.out.println("请输入年龄:"); Scanner s = new Scanner(System.in); int Age = s.nextInt(); if(Age < 0 ){ System.out.println("输入错误!请重新输入!"); continue; } else if(Age >= 0 && Age < 6){ // 如果小于6岁,则输出“儿童” System.out.println("儿童"); break; } else if(Age >= 6 && Age <= 13){ // 6岁到13岁,输出“少儿” System.out.println("少儿"); break; } else if(Age >= 14 && Age < 18){ // 14岁到18岁,输出“青少年” System.out.println("青少儿"); break; } else if(Age >= 18 && Age < 35){ // 18岁到35岁,输出“青年” System.out.println("青年"); break; } else if(Age >= 35 && Age < 50){ // 35岁到50岁,输出“中年” System.out.println("中年"); break; } else{ // 50 岁以上输出“中老年” System.out.println("中老年"); break; } } } }
2、读入一一个整数,如果是1~5之间,则分别输出5个福娃的名字,否则输出“北京欢迎你”。
import java.util.*; //import java.util.regex.*; /* * 读入一个整数, * 如果是1~5之间,则分别输出5个福娃的名字, * 否则输出“北京欢迎你”。 * */ public class ZhengShu1_5 { public static void main(String[] args) { System.out.println("请输入一个整数:"); Scanner s = new Scanner(System.in); int a = s.nextInt(); // 如何判断输入的是否是整数????? switch(a){ case 1:System.out.println("贝贝");break; case 2:System.out.println("晶晶");break; case 3:System.out.println("欢欢");break; case 4:System.out.println("莹莹");break; case 5:System.out.println("妮妮");break; default:System.out.println("北京欢迎你过!"); } } }
3、读入三个整数,输出这三个整数中最大的一个.
import java.util.Scanner; /* * 读入三个整数,输出这三个整数中最大的一个. */ public class MaxOrMin { public static void main(String[] args) { System.out.println("请输入3个整数:"); Scanner s = new Scanner(System.in); int[] Arr = new int[2]; int i = 0; // 循环接收输入的数据 for(i = 0; i <= 2; i++){ Arr[i] = s.nextInt(); } // 对数据进行判断 if(Arr[0] >= Arr[1] && Arr[0] >= Arr[2] ) System.out.println("最大整数:" + Arr[0]); else if(Arr[1] >= Arr[0] && Arr[1] >= Arr[2] ) System.out.println("最大整数:" + Arr[1]); else System.out.println("最大整数:" + Arr[2]); } }
4、读入一一个表示年份的整数,判断这一年 是否是闰年。如何判断-一个年份是否是闰年:
1) 如果这个年份能够被4整除,且不能被100 整除,则这一年是闰年。例如, 1996年是闰年,而相应的, 1993年就不是闰年。
2) 如果这个年份能够被100整除,则这个数必须要能被400整除,才是闰年。例如,2000 年是闰年, 1900年不是闰年。
import java.util.*; /* *读入一一个表示年份的整数,判断这一年 是否是闰年。如何判断-一个年份是否是闰年: *1)如果这个年份能够被4整除,且不能被100 整除,则这一年是闰年。例如, 1996年是闰年,而相应的, 1993年就不是闰年。 *2)如果这个年份能够被100整除,则这个数必须要能被400整除,才是闰年。例如,2000 年是闰年, 1900年不是闰年。 */ public class RunNian { public static void main(String[] args) { System.out.println("请输入一个年份:"); int Age; while(true){ Scanner s = new Scanner(System.in); Age = s.nextInt(); if(Age % 4 == 0 && Age % 100 != 0){ // 被4整除,且不能被100 整除 System.out.println(Age + "年是闰年"); continue; } else if(Age % 100 == 0 && Age % 400 == 0){ // 被100整除,且被400整除 System.out.println(Age + "年是闰年"); continue; } else System.out.println(Age + "年不是闰年"); } } }
5、完成一一个简单的计算器程序。
程序要求如下:
1)读入两个整数
2)提示用户选择对这两个整数的操作,即输出
1、+
1)读入两个整数
2)提示用户选择对这两个整数的操作,即输出
1、+
2、-
3、*
4、/
请输入您的选择:
读入用户的选择,输出运算结果。
读入用户的选择,输出运算结果。
import java.util.*; /*方法1 *5、完成一个简单的计算器程序。程序要求如下: 1)读入两个整数 2)提示用户选择对这两个整数的操作,即输出 1、+ 2、- 3、* 4、/ 请输入您的选择: 读入用户的选择,输出运算结果。 */ public class Operate4 { public static void main(String[] args) { double Num_1, Num_2; int Operate = 1; System.out.println("请输入要运算的整数:"); Scanner s = new Scanner(System.in); Num_1 = s.nextDouble(); Num_2 = s.nextDouble(); System.out.println(" 1、+\n 2、-\n 3、*\n 4、/\n 请输入您的选择:"); Scanner s2 = new Scanner(System.in); Operate = s2.nextInt(); if(Operate >4 && Operate < 1) System.out.println("运算方式选择错误!"); else{ switch(Operate){ case 1: System.out.println(Num_1 + " + " + Num_2 + " = " + (Num_1 + Num_2));break; case 2: System.out.println(Num_1 + " - " + Num_2 + " = " + (Num_1 - Num_2));break; case 3: System.out.println(Num_1 + " * " + Num_2 + " = " + (Num_1 * Num_2));break; case 4: System.out.println(Num_1 + " / " + Num_2 + " = " + (Num_1 / Num_2));break;
default:System.out.println("符号非法!"); } } } }
import java.util.*; /*方法2 *5、完成一个简单的计算器程序。程序要求如下: 1)读入两个整数 2)提示用户选择对这两个整数的操作,即输出 1、+ 2、- 3、* 4、/ 请输入您的选择: 读入用户的选择,输出运算结果。 */ public class Switch { public static void main(String[] args) { double Num_1, Num_2; System.out.println("请输入要运算的整数:"); Scanner s = new Scanner(System.in); Num_1 = s.nextDouble(); Num_2 = s.nextDouble(); System.out.print(" +\n -\n *\n /\n 请输入您的选择:"); Scanner s2 = new Scanner(System.in); String Operate = s2.nextLine(); switch(Operate){ case "+": System.out.println(Num_1 + " + " + Num_2 + " = " + (Num_1 + Num_2));break; case "-": System.out.println(Num_1 + " - " + Num_2 + " = " + (Num_1 - Num_2));break; case "*": System.out.println(Num_1 + " * " + Num_2 + " = " + (Num_1 * Num_2));break; case "/": System.out.println(Num_1 + " / " + Num_2 + " = " + (Num_1 / Num_2));break; } } }
6、 托运计费问题:
当货物重量小于20公斤的时候,收费5元,
大于20公斤小于100公斤的时候超出20公斤的部分按每0.2元每公斤计费,
如果超出100公斤的时候,超出的部分按照每公斤0.15元计算。
读入贷物的重量,输出计算之后货物的运费。
import java.util.*; /* * 托运计费问题: * 当货物重量小于20公斤的时候,收费5元, * 大于20公斤小于100公斤的时候超出20公斤的部分按每0.2元每公斤计费, * 如果超出100公斤的时候,超出的部分按照每公斤0.15元计算。 * 读入贷物的重量,输出计算之后货物的运费。 */ public class YunFei { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入:"); int weight = s.nextInt(); double price = 0; if(weight < 0) System.out.println("输入不合法"); else{ if(weight <= 20){ price = weight * 0.35; } else if(weight >= 20 && weight<= 100){ price = weight * 0.35 + (weight - 20) * 0.5; } else{ price = weight * 0.35 + (weight - 20) * 0.5 + (weight - 100) * 0.8; } } System.out.println(price); } }
7、读入一个三位数,计算其各位数字之和。例如: 123, 各位数字之和为6
import java.util.*; /* * 读入一个三位数,计算其各位数字之和。 * 例如: 123, 各位数字之和为6 */ public class SanWeiShu { public static void main(String[] args) { System.out.println("请输入一个三位数:"); Scanner s1 = new Scanner(System.in); int Num = s1.nextInt(); if(Num >= 100 && Num <= 999){ int Num1 = (Num / 100); // 获得百位上的数字 int Num2 = (Num - Num1 * 100) / 10; // 获得十位上的数字 int Num3 = Num - ((Num1 * 100) + Num2 * 10); // 获得个位上的数字 int Sum = Num1 + Num2 + Num3; // 求和 System.out.println(Num + "各位数字之和为:" + Sum); } else System.out.println("您输入的不是3位数!"); } }
8、计算1+2+3+...+100的和
/*计算1+2+3+...+100的和*/ public class Sum01 { public static void main(String[] args) { int sum = 0; for(int i = 1; i <= 100; i++){ sum += i; } System.out.println("sum = " + sum); } }
9、计算1+3+5+...+99的和
/*计算1+3+5+...+99的和*/ public class Sum02 { public static void main(String[] args) { int i; int sum = 0; for(i = 1; i <= 100; i++){ if(i % 2 == 1) sum += i; } System.out.println("sum = " + sum); } }
10.读入一个小于10的整数n,输出它的阶乘n!
import java.util.*; /*读入一个小于10的整数n,输出它的阶乘n!*/ public class Factorial { public static void main(String[] args) { System.out.print("请输入一个10以内的数字:"); Scanner s = new Scanner(System.in); int n = s.nextInt(); int sum = 1; if(n >10 && n < 0){ for(int i = n; i > 0; i--){ sum *= i; } System.out.println(sum); } else System.out.println("输入错误!"); } }
11.求100 以内所有能被3整除但不能被5整除的数字的和。
/*求100 以内所有能被3整除但不能被5整除的数字的和*/ public class Division { public static void main(String[] args) { int i = 0; int sum = 0; for(i = 0; i <= 100; i++){ if(i % 3 == 0 && i % 5 != 0) sum += i; } System.out.println("sum = " + sum); } }
12.“百钱买百鸡”是我国古代的著 名数学题。
题目这样描述: 3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文 钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只?
/*“百钱买百鸡”是我国古代的著 名数学题。 * 题目这样描述: * 3文钱可以买1只公鸡, * 2文钱可以买一只母鸡, * 1文钱可以买3只小鸡。 * 用100文 钱买100只鸡, * 那么各有公鸡、母鸡、小鸡多少只? */ public class BuyChicken { public static void main(String[] args) { int GJ; int MJ; //int XJ = (100 - GJ - MJ); //GJ + MJ + XJ == 100; for(GJ = 0; GJ <= 33; GJ++){ for(MJ = 0; MJ <= 50; MJ++){ if(GJ * 3 + MJ * 2 + (100 - GJ - MJ)/3.0 == 100) System.out.println("公鸡:" + GJ + " 母鸡:" + MJ + " 小鸡:" + (100 - GJ - MJ)); } } } }
13.搬砖问题:
36块砖,36人搬,男搬4,女搬3,两个小孩拾1砖,要求一次全搬完,问男、女和小孩各若干?
/*搬砖问题: * 36块砖,36人搬, * 男搬4,女搬3,两个小孩拾1砖, * 要求一次全搬完, * 问男、女和小孩各若干? */ public class MovingBricks { public static void main(String[] args) { int Man; int Woman; for(Man = 0; Man <= 9; Man++){ for(Woman = 0; Woman <= 12; Woman++){ if(Man * 4 + Woman * 3 + (36 - Man - Woman) / 2 == 36) System.out.println("Man:" + Man + " Woman:" + Woman + " Childen:" + (36 - Man - Woman)); } } } }
14.编程找出四位整数abcd 中满足下述关系的数: (ab+cd) (ab+cd) =abcd
/*编程找出四位整数abed 中满足下述关系的数: * (ab+cd) (ab+cd) =abcd */ public class abcd2 { public static void main(String[] args) { int Num, a, b, c, d, ab, cd, abcd; for(Num = 1000; Num <= 9999; Num++){ a = Num / 1000; // 千位 b = (Num - a * 1000) / 100; // 百位 c = (Num - a * 1000 - b * 100) / 10; // 十位 d = (Num - a * 1000 - b * 100 - c * 10); // 个位 ab = (a * 10 + b); cd = (c * 10 + d); abcd = (ab + cd) * (ab + cd); if(abcd == Num) System.out.println(Num); } } }
15.读入一一个整数n,输出如下图形:
当输入n=3时,输出:★
★★★
★★★★★
当输入n=4时,输出:
★
★★★
★★★★★
★★★★★★★
import java.util.*; /* 读入一一个整数n,输出如下图形: 当输入n=3时,输出: ★ ★★★ ★★★★★ 当输入n=4时,输出: ★ ★★★ ★★★★★ ★★★★★★★ */ public class Star { public static void main(String[] args) { System.out.println("请输入:"); Scanner s = new Scanner(System.in); int n = s.nextInt(); for(int i = 1; i <= n; i++){ System.out.println(" "); // 换行 for(int w = 1; w <= (n + 1 - i); w++){ // 打印空格 System.out.print(" "); } for(int j = 1; j <= (i*2-1); j++){ // 打印星星 System.out.print("★"); } } } }
16.输出99 乘法表
/*输出99 乘法表*/ public class ChengFa { public static void main(String[] args) { for(int i = 1; i <= 9; i++) { System.out.println(" "); for(int j = 1; j <= 9 - i; j++) { System.out.print(" " + i + " * " + j + " = " + i * j); } } } }
public class ClassTest01 { public static void main(String[] args) { for(int i=1; i<=9; i++){ for(int j=1; j<=i; j++){ System.out.print(" " + i + "*" + j + " = " + i*j); } System.out.println(""); } } }
17.求水仙花数。
所谓水仙花数,是指一一个三位数abc,如果满足a3+ b3+c3=abc,则abc是水仙花数。
/*求水仙花数。 * 所谓水仙花数,是指一一个三位数abc, * 如果满足a3+ b3+c3=abc,则abc是水仙花数。 */ public class ShuiXian { public static void main(String[] args) { int abc = 100; for(abc = 100; abc <= 999; abc++) { int a = abc / 100; int b = (abc - a * 100) / 10; int c = abc % 10; if((a *10 + 3 + b * 10 * 3 + c * 10 * 3 ) == abc) System.out.println(abc); } } }
18.输入一个整数,计算它各位上数字的和。
注意:是任意位的整数import java.util.*; /* * 输入一个整数,计算它各位上数字的和。 * (注意:是任意位的整数) */ public class Sum02 { public static void main(String[] args) { System.out.print("请输入任意一个整数:"); Scanner s = new Scanner(System.in); int sum = 0; int t = s.nextInt(); while(t!=0){ sum = sum + t % 10; t = t / 10; } System.out.println("各位数字的和:" + sum); } }
19.输入一 整数A,判断它是否质数。
import java.util.*; /*输入一 整数A,判断它是否质数。*/ public class PrimeNumber { public static void main(String[] args) { System.out.println("请输入一个整数:"); Scanner s = new Scanner(System.in); int A = s.nextInt(); for(int i = 2; i <= A / 2; i++) { if(A / i == 0) { System.out.println("不是质数"); break; } else { System.out.println("是质数"); break; } } } }
20.如果一个数等 于其所有因子之和,我们就称这个数为"完数"
例如6的因子为1,2,3, 6=1+2+3, 6就是一一个完数.请编程打印出1000以内所有的完数
/*如果一个数等 于其所有因子之和,我们就称这个数为"完数" * 例如6的因子为1,2,3, 6=1+2+3, 6就是一一个完数. * 请编程打印出1000以内所有的完数*/ public class WanShu { public static void main(String[] args) { int i = 1; int j = 1; for(i = 1; i <= 1000; i++) { int sum = 0; for(j = 1; j <= i - 1; j++) { if(i % j == 0) { sum += j; } } if(sum == j) System.out.println(sum); } } }
21.计算圆周率
中国古代数学家研究出了计算圆周率最简单的办法:PI=4/1-4/3+4/5-4/ 7+4/9-4/11+4/13-4/15+4/17......这个算式的结果会无限接近于圆周率的值,我国古代数学家祖冲之计算出,圆周率在3.1415926和3.1415927之间,请编程计算,要想得到这样的结果,他要经过多少次加减法运算?
/*计算圆周率 * 中国古代数学家研究出了计算圆周率最简单的办法: * PI=4/1-4/3+4/5-4/ 7+4/9-4/11+4/13-4/15+4/17...... * 这个算式的结果会无限接近于圆周率的值, * 我国古代数学家祖冲之计算出,圆周率在3.1415926和3.1415927之间, * 请编程计算,要想得到这样的结果,他要经过多少次加减法运算?*/ public class Pai { public static void main(String[] args) { final double a = 4.0; //表示被除数 double PI = 0; //表示圆周率 int b = -1; //表示除数 int count = 0; //加减法次数计数变量 while (PI >= 3.1415927 || PI <= 3.1415926) { b +=2; PI = PI + a/b; count++; b += 2; PI = PI - a/b; count++; } System.out.println("总共需要经过" + count +"次加减法运算"); } }
22.faibonacci
已知: faibonacci ( 费波那契)数列的前几个数分别为0,1, 1,2,3,..... 从第3项开始,每一项都等于前两项的和。读入一一个整数n,编程求出此数列的前n项。
import java.util.*; /*已知: faibonacci ( 费波那契)数列的前几个数分别为0,1, 1,2,3,..... * 从第3项开始,每一项都等于前两项的和。 * 读入一个整数n,编程求出此数列的前n项。*/ public class Faibonacci { public static void main(String[] args) { System.out.print("请输入一个整数n:"); Scanner s = new Scanner(System.in); int n = s.nextInt(); int[] a = new int[n]; a[0] = 0; a[1] = 1; System.out.println(a[0] + "\n" + a[1]); if(n < 2) { System.out.println("请输入大于2的整数!"); } else { for(int i = 2; i < n; i++) { a[i] = a[i - 1] + a[i - 2]; System.out.print(a[i]); } } } }
23.一个int 类型的整数由32个二进制位组成,每个二进制位的值要么为0要么为1。
要求读入一个int类型的整数n,计算它的32个二进制位中总共有多少位为1?
import java.util.*; /*一个int 类型的整数由32个二进制位组成,每个二进制位的值要么为0要么为1。 * 要求读入一个int类型的整数n,计算它的32个二进制位中总共有多少位为1? */ public class Int { public static void main(String[] args) { System.out.print("请输入一个int类型的整数:"); Scanner s = new Scanner(System.in); int n = s.nextInt(); int sum = 0; int n1 = n; while(n != 0) { sum = sum + n % 2; n = n / 2; } System.out.println(n1 + "的二进制位中总共有" + sum + "位为1"); } }