目录
- 1. 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上).
- 2. 判定一个数字是否是素数.
- 3. 打印 1 - 100 之间所有的素数.
- 4. 输出 1000 - 2000 之间所有的闰年.
- 5. 输出乘法口诀表.
- 6. 求两个正整数的最大公约数.
- 7. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值.
- 8. 编写程序数一下 1到 100 的所有整数中出现多少个数字9.
- 9. 求出0~999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”).
- 10. 编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序.
- 11. 写一个函数返回参数二进制中 1 的个数 比如: 15 0000 1111 4 个 1.
- 12. 获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列.
- 13. 输出一个整数的每一位.
- 14. 猜数字游戏.
1. 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上).
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年龄(ctrl+d 结束):");
while (sc.hasNextInt()){
int age = sc.nextInt();
if (age <= 18) {
System.out.println("少年~");
}else if (age >= 19 && age <= 28){
System.out.println("青年~");
}else if (age >= 29 && age <= 55){
System.out.println("中年~");
}else if (age >= 56){
System.out.println("老年~");
}
System.out.println("请输入年龄(ctrl+d 结束):");
}
}
2. 判定一个数字是否是素数.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = 0;
System.out.println("输入数字(ctrl+d 停止):");
while (sc.hasNextInt()) {
num = sc.nextInt();
int i = 0;
boolean isFlag = true;
for (i = 2; i < num; i++){
if (num % i == 0) {
isFlag = false;
break;
}
}
if (isFlag) {
System.out.println(num + " 是素数。");
}else {
System.out.println(num + " 不是素数。");
}
}
}
3. 打印 1 - 100 之间所有的素数.
public static void main(String[] args) {
int i = 1;
for (i = 1; i <= 100; i++){
int j = 2;
for (j = 2; j < i; j++){
if (i % j == 0) {
break;
}
}
if (i == j) {
System.out.println(i);
}
}
}
4. 输出 1000 - 2000 之间所有的闰年.
public static void main(String[] args) {
int year = 1000;
for (year = 1000; year <= 2000; year++){
if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) {
System.out.println(year);
}
}
}
5. 输出乘法口诀表.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int i = 0;
for (i = 1; i <= num; i++){
int j = 0;
for (j = 1; j <= i; j++){
System.out.print(i + "*" + j + "=" + i*j + "\t");
}
System.out.println();
}
}
6. 求两个正整数的最大公约数.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个正整数:");
int a = sc.nextInt();
System.out.println("请输入第二个正整数:");
int b = sc.nextInt();
int c = 0;
while (a % b != 0){
c = a % b;
a = b;
b = c;
}
System.out.println("最大公倍数是:" + b);
}
7. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值.
public static void main(String[] args) {
/*1.0
// double sum = 1.0;
// double i = 0.0;
// for (i = 2.0; i <= 100.0; i++){
// if (i % 2.0 == 0.0){
// sum -= (1.0 / i);
// }else {
// sum += (1.0 / i);
// }
// }
// System.out.println(sum); //0.688172179310195
*/
//2.0
double i = 0.0;
double sum1 = 0.0;
double sum2 = 0.0;
for (i = 1.0; i <= 100.0; i += 2.0){
sum1 += (1.0 / i);
}
for (i = 2.0; i <= 100.0; i += 2.0){
sum2 += (1.0 / i);
}
System.out.println(sum1 - sum2); //0.6881721793101954
}
8. 编写程序数一下 1到 100 的所有整数中出现多少个数字9.
public static void main(String[] args) {
int i = 1;
int count = 0;
for (i = 1; i <= 100; i++){
if ((9 == i % 10) || (9 == i / 10)) {
count++;
// System.out.println(i);
}
}
System.out.println(count + 1);
}
9. 求出0~999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”).
public static void main(String[] args) {
int i = 0;
for (i = 0; i <= 999; i++){
if (i == ((i%10)*(i%10)*(i%10) + (i/10%10)*(i/10%10)*(i/10%10) + (i/100)*(i/100)*(i/100))){
System.out.println(i);
}
}
}
10. 编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i = 1;
for (i = 1; i <= 3; i++){
System.out.println("请输入密码(最多能输入" + (4-i) + "次密码):");
int number = sc.nextInt();
if (number == 123) {
System.out.println("登录成功");
break;
}
}
}
11. 写一个函数返回参数二进制中 1 的个数 比如: 15 0000 1111 4 个 1.
public static void main(String[] args) {
int count = 0;
int num = 15;
int i = 1;
for (i = 1; i <= 32; i++){
if (1 == (1 & num)){
count++;
}
num >>= 1;
}
System.out.println(count);
}
12. 获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列.
public static void main(String[] args) {
int i = 0;
int num = 10; //1010
System.out.println("奇数序列 ");
for (i = 31; i >= 0; i-=2){
System.out.print((num >> i) & 1);
}
System.out.println();
System.out.println("偶数序列 ");
for (i = 30; i >= 0; i-=2){
System.out.print((num >> i) & 1);
}
}
13. 输出一个整数的每一位.
public static void main(String[] args) {
int num = 123;
System.out.println("百位:" + (num / 100));
System.out.println("十位:" + (num / 10 % 10));
System.out.println("个位:" + (num % 10));
}
14. 猜数字游戏.
游戏规则:
系统自动生成一个随机整数(1-100), 然后由用户输入一个猜测的数字. 如果输入的数字比该随机数小, 提示 “低了”, 如果输入的数字比该随机数大, 提示 “高了” , 如果输入的数字和随机数相等, 则提示 “猜对了” .
public static void main(String[] args) {
Random random = new Random();
Scanner scanner = new Scanner(System.in);
int guessN = random.nextInt(100)+1;
while (true) {
System.out.println("请输入数字:");
int num = scanner.nextInt();
if (num > guessN) {
System.out.println("猜大了");
} else if (num < guessN) {
System.out.println("猜小了");
}else {
System.out.println("猜中了,guessN is " + guessN);
break;
}
}
}