1. 读入一个整数,表示一个人的年龄。如果小于6岁,则输出“儿童”,6岁到13岁,输出“少儿”; 14岁到18岁,输出“青少年”; 18
岁到35 岁,输出“青年”; 35 岁到50 岁,输出“中年”; 50 岁以上输出“中老年”。
/** 1. 读入一个整数,表示一个人的年龄。如果小于6 岁,则输出“儿童”,6 岁到13 岁,输出“少儿”; 14 岁到18 岁,输出“青少年”; 18 岁到35 岁,输出“青年”; 35 岁到50 岁,输出“中年”; 50 岁以上输出“中老年”。 */ import java.util.Scanner; public class Demo1{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int age = s.nextInt(); if(age < 0){ System.out.println("输入的年龄不符合规范"); }else if(age < 6){ System.out.println("儿童"); }else if(age >= 6 && age <= 13){ System.out.println("少儿"); }else if(age >= 14 && age <= 18){ System.out.println("青少年"); }else if(age > 18 && age <=35){ System.out.println("青年"); }else if(age > 35 && age <= 50){ System.out.println("中年"); }else if(age > 50){ System.out.println("中老年"); } } }
2. 读入一个整数,如果是1~5之间,则分别输出5个福娃的名字,否则输出“北京欢迎你”。
/** 2. 读入一个整数,如果是1~5 之间,则分别输出5 个福娃的名字,否则输出“北京欢迎你”。 */ import java.util.Scanner; public class Demo2{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int m = s.nextInt(); switch(m){ 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 Demo3{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int m = s.nextInt(); int n = s.nextInt(); int k = s.nextInt(); if(m < n){ m = n; if(m < k){ m = k; } } System.out.println(m); } }
4. 读入一个表示年份的整数,判断这一年是否是闰年。如何判断一个年份是否是闰年:
1)如果这个年份能够被4 整除,且不能被100 整除,则这一年是闰年。例如, 1996 年是闰年,而相应的, 1993 年就不是闰年。
2)如果这个年份能够被100 整除,则这个数必须要能被400 整除,才是闰年。例如, 2000 年是闰年, 1900 年不是闰年。
/** 4. 读入一个表示年份的整数,判断这一年是否是闰年。如何判断一个年份是否是闰年: */ import java.util.Scanner; public class Demo4{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int year = s.nextInt(); if((year % 100 !=0) && (year % 4 == 0) || year % 400 ==0){ System.out.println("是闰年"); }else System.out.println("不是闰年"); } }
5. 完成一个简单的计算器程序。程序要求如下:
1)读入两个整数
2) 提示用户选择对这两个整数的操作,即输出
1 : +
2 : -
3 : *
4 : /
请输入您的选择:
读入用户的选择,输出运算结果。
/**5. 完成一个简单的计算器程序。程序要求如下: 1)读入两个整数 2) 提示用户选择对这两个整数的操作,即输出 1 : + 2 : - 3 : * 4 : / 请输入您的选择: 读入用户的选择,输出运算结果。 */ import java.util.Scanner; public class Demo5{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int m = s.nextInt(); int n = s.nextInt(); System.out.println("请输入您的选择:"); System.out.println("1:+"); System.out.println("2:-"); System.out.println("3:*"); System.out.println("4:/"); int choose = s.nextInt(); switch(choose){ case 1: System.out.println(m + n); break; case 2: System.out.println(m - n); break; case 3: System.out.println(m * n); break; case 4: System.out.println(m / n); break; } } }
6. 托运计费问题:
当货物重量小于20公斤的时候,收费5元,大于20公斤小于100公斤的时候超出20公斤的部分按每0.2元每公斤计费,如果超出100公斤的 时候,超出的部分按照每公斤0.15元计算。
读入货物的重量,输出计算之后货物的运费。
/**6. 托运计费问题: 当货物重量小于20公斤的时候,收费5元,大于20公斤小于100公斤的时候超出20公斤的部分按每0.2元每公斤计费,如果超出100公斤的 时候,超出的部分按照每公斤0.15元计算。 读入货物的重量,输出计算之后货物的运费。 */ import java.util.Scanner; public class Demo6{ public static void main(String[] args){ Scanner s = new Scanner(System.in); double weight = s.nextDouble(); double money = 0; if(weight < 0){ System.out.println("输入不合法"); }else if(weight < 20){ money = 5; }else if(weight > 20 && weight < 100){ money = 5 + (weight - 20) * 0.2; }else if(weight > 100){ money = 5 + 80 * 0.2 + (weight - 100) * 0.15; } System.out.println(money+"元"); } }
7. 读入一个三位数,计算其各位数字之和。例如: 123,各位数字之和为6
/** 7. 读入一个三位数,计算其各位数字之和。例如: 123,各位数字之和为6 */ import java.util.Scanner; public class Demo7{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int n = s.nextInt(); int gw = n % 10; int sw = n / 10 % 10; int bw = n / 100 % 10; System.out.println(gw + sw + bw); } }
8. 计算1+2+3+...+100 的和
9. 计算1+3+5+...+99 的和
/**8. 计算1+2+3+...+100 的和 9. 计算1+3+5+...+99 的和 */ public class Demo8{ public static void main(String[] args){ int sum1 = 0; int sum2 = 0; for(int i = 1; i <= 100; i++){ sum1 += i; } for(int i = 1; i < 100; i += 2){ sum2 += i; } System.out.println(sum1 + "," + sum2); } }
10. 读入一个小于10的整数n,输出它的阶乘n!
/** 10. 读入一个小于10 的整数n,输出它的阶乘n! */ import java.util.Scanner; public class Demo10{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int n = s.nextInt(); if(n > 10 || n < 0){ System.out.println("输入不合法"); }else{ System.out.println(fac(n)); } } //求阶乘的方法 public static int fac(int n){ if(n == 1) return 1; return n * fac(n - 1); } }
11. 求100以内所有能被3整除但不能被5整除的数字的和。
/**11. 求100 以内所有能被3 整除但不能被5 整除的数字的和。 */ public class Demo11{ public static void main(String[] args){ int sum = 0; for(int i = 3; i <= 100; i += 3){ if(i % 5 != 0){ sum += i; } } System.out.println(sum); } }
12. “百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100 文钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只?
/** 12. “百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡, 2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100 文钱买100 只鸡, 那么各有公鸡、母鸡、小鸡多少只? */ public class Demo12{ public static void main(String[] args){ for(int i = 1; i <= 33; i++) for(int j = 1; j <= 50; j++){ int k = 100 - i - j; if((3 * i + 2 * j + k/3) == 100){ System.out.println(i + "," + j + "," + k); } } } }
13. 搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖,要求一次全搬完,问男、女和小孩各若干?
/**13. 搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖,要求一次全搬完,问男、女和小孩各若干? */ public class Demo13{ public static void main(String[] args){ for(int i = 1; i <= 6; i++) for(int j = 1; j <= 12; j++) for(int k = 2; k <= 72; k +=2){ if((4 * i + 3 * j + k/2) == 36){ System.out.println(i + "," + j + "," + k); } } } }
14. 编程找出四位整数abcd中满足下述关系的数:(ab+cd)(ab+cd)=abcd
/** 14. 编程找出四位整数abcd 中满足下述关系的数:(ab+cd)(ab+cd)=abcd */ public class Demo14{ public static void main(String[] args){ int count = 0; for(int i = 1000; i < 10000; i++){ int d = i % 10; int c = i / 10 % 10; int b = i / 100 % 10; int a = i / 1000 % 10; if((a * b + c * d) * (a * b + c * d) == i){ System.out.print(i + " "); } } } }
15. 读入一个整数n,输出如下图形: 当输入 n=3时,输出:
当输入n=4时,输出:
/**15. 读入一个整数n,输出如下图形: 当输入 n=3时,输出: 当输入n=4时,输出: */ import java.util.Scanner; public class Demo15{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int n = s.nextInt(); for(int i = 1; i <= n; i++){ for(int k = 1; k <= n - i; k++){ System.out.print(" "); } for(int j = 1; j <= 2 * i - 1; j++){ System.out.print("*"); } System.out.println(); } } }
16. 输出99乘法表
/** 16. 输出99 乘法表 */ public class Demo16{ 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(); } //用一个循环输出 for(int i = 1, j = 1; i <= 9; j++){ System.out.print(i + "*" + j + "=" + i * j + " "); if(j == i){ //换行 System.out.println(); i++; j = 0; } } } }
17. 求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a3+ b3+ c3= abc,则abc是水仙花数。
/**17. 求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a3 + b3 + c3 = abc,则abc是水仙花数。 */ public class Demo17{ public static void main(String[] args){ for(int i = 100; i < 1000; i++){ int c = i % 10; int b = i / 10 % 10; int a = i / 100 % 10; if(a * a * a + b * b * b + c * c *c == i) System.out.print(i + " "); } } }
18. 输入一个整数, 计算它各位上数字的和。(注意:是任意位的整数)
/**18. 输入一个整数, 计算它各位上数字的和。(注意:是任意位的整数) */ import java.util.Scanner; public class Demo18{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int n = s.nextInt(); int sum = 0; while(n != 0){ sum += n % 10; n /= 10; } System.out.println(sum); } }
19. 输入一整数A,判断它是否质数。
/**19. 输入一整数A,判断它是否质数。 */ import java.util.Scanner; public class Demo19{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int n = s.nextInt(); if(isPrime(n)){ System.out.println("是质数"); }else{ System.out.println("不是质数"); } } //定义一个方法 public static boolean isPrime(int n){ if(n < 2) return false; if(n == 2) return true; if(n % 2 == 0) return false; for(int i = 3; i <= n/2; i +=2){ if(n % i == 0) return false; } return true; } }
20. 如果一个数等于其所有因子之和,我们就称这个数为"完数",例如6 的因子为1,2,3,6=1+2+3,6就是一个完数.请编程打印出1000 以内所有的完数
/**20. 如果一个数等于其所有因子之和,我们就称这个数为"完数", 例如6 的因子为1,2,3,6=1+2+3,6就是一个完数.请编程打印出1000 以内所有的完数 */ public class Demo20{ public static void main(String[] args){ for(int i = 0; i < 1000; i++){ int sum = 0; for(int j = 1; j <= i/2; j++){ if(i % j == 0){ sum += j; } } if(sum == i){ System.out.print(i + " "); } } } }
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 Demo21{ public static void main(String[] args){ int i = 1, j = 3, count = 0, result = 0; while(true){ result += 4 / i; i += 4; result -= 4/j; j -= 4; count += 2; if(result > 3.1415926 && result < 3.1415927) break; } System.out.println(count); } }
22. 已知:faibonacci(费波那契)数列的前几个数分别为0,1,1,2,3,5……。从第3 项开始,每一项都等于前两项的和。读入一个整数
n,编程求出此数列的前n 项。
/**22. 已知:faibonacci(费波那契)数列的前几个数分别为0,1,1,2,3,5……。 从第3 项开始,每一项都等于前两项的和。读入一个整数 n,编程求出此数列的前n 项。 */ import java.util.Scanner; public class Demo22{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int n = s.nextInt(); System.out.println(allFai(n)); } //写一个递归函数,第 n 项的值 public static int fai(int n){ if(n == 1) return 0; if(n == 2) return 1; return fai(n - 1) + fai(n - 2); } //写一个递归函数,前 n 项的和 public static int allFai(int n){ if(n < 1) return -1; if(n == 1) return 0; if(n == 2) return 1; return allFai(fai(n--)) + allFai(fai(n - 1)); } }
23. 一个int 类型的整数由32 个二进制位组成,每个二进制位的值要么为0要么为1。要求读入一个int 类型的整数n,计算它的32 个二进制位中总共有多少位为1?
/** 23. 一个int 类型的整数由32 个二进制位组成,每个二进制位的值要么为0要么为1。 要求读入一个int 类型的整数n,计算它的32 个二进制位中总共有多少位为1? */ import java.util.Scanner; public class Demo23{ public static void main(String[] args){ Scanner s = new Scanner(System.in); int n = s.nextInt(); int count = 0; while(0 != n){ ++count; n = n & (n - 1);//跟低位想与,直到最后一位想与后就为 0 } System.out.println(count); } }