水仙花数
//水仙花数0-999
int num=0;
while(num<1000){
int a=num%10;
int b=(num%100-a)/10;
int c=(num-num%100)/100;
int outcome=a*a*a+b*b*b+c*c*c;
if(outcome==num) System.out.println(num);
num++;
}
猜数字游戏
注意引入类
import java.util.Random; import java.util.Scanner;
//猜数字游戏
Random random=new Random();
Scanner sc=new Scanner(System.in);
int toGuess=random.nextInt(101);//[0,101)
while(true){
System.out.println("请输入你猜得数:");
int Guess=sc.nextInt();
if(Guess>toGuess) System.out.println("猜大咯!");
else if(Guess<toGuess) System.out.println("猜小喽!");
else {
System.out.println("猜对喽!");
break;
}
}
求1-5的阶乘和
//求1-5的阶乘
int i=1,j=1;
int ret=1,sum=0;
while(i<=5){
while(j<=i){
ret*=i;
j++;
System.out.println(ret );
}
sum+=ret;
i++;
}
System.out.println(ret);
System.out.println(sum);
乘法表
//9*9乘法口诀表
int i=1,j=1;
int ret=1;
for(i=1;i<=9;i++){
for(j=1;j<=i;j++){
ret=i*j;
System.out.print(j+"*"+i+"="+ret);
System.out.print(" ");
}
System.out.println( );
}
//n*n乘法口诀表
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个数:");
int num=sc.nextInt();
int i=1,j=1;
int ret=1;
for(i=1;i<=num;i++){
for(j=1;j<=i;j++){
ret=i*j;
System.out.print(j+"*"+i+"="+ret);
System.out.print(" ");
}
System.out.println( );
}
判定素数
//判定素数
int i;
Scanner sc=new Scanner(System.in);
while(true){
System.out.println("请输入一个数字:");
int num=sc.nextInt();
for(i=2;i<num;i++){
if(num%i==0)break;
}
if(i==num) System.out.println(num+"是素数");
else System.out.println(num+"不是素数");
}
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
两种思路运行结果是一样的 但第二种更为简便
//自己写的第一版
int num = 1;
double sum = 0;
for (num = 1; num <= 100; num++) {
if (num % 2 != 0) sum += 1.0/num;
else if (num % 2 == 0) sum = sum - 1.0/num;
}
System.out.println(sum);
//另一种写法
double sum = 0;
int flg = 1;
for (int i = 1; i <= 100; i++) {
sum += 1.0/i * flg;
flg = -flg;
}
System.out.println(sum);
}
打印1-100素数
//打印素数1-100
int num=2;
int i;
while(num<101){
for(i=2;i<=num;i++){
if(num%i==0)
break;
}
if(i==num)
System.out.println(num);
num++;
}
输入输出练习
//输入名字 电话 工资 等并合起来打印
Scanner sc=new Scanner(System.in);
System.out.println("请输入姓名");
String name=sc.nextLine();
System.out.println("请输入电话");
String call=sc.nextLine();
System.out.println("请输入薪资");
int salary=sc.nextInt();
System.out.println("姓名:"+name+"\n"+"电话:"+call+"\n"+"薪资:"+salary+"\n");
找到1-100既可以被3整除又可以被5整除的数
int i=1;
while(i<=100) {
if ((i % 3 == 0) && (i % 5 == 0)) {
System.out.println(i);
}
i++;
continue;
}
求二进制1的个数
//二进制1的个数
Scanner sc=new Scanner(System.in);
int count=0;
while(true){
count=0;
System.out.println("请输入一个数:");
int num=sc.nextInt();
while(num!=0){
if((num&1)==1)count++;
num=num>>>1;
}
System.out.println("该数二进制中1的个数为:"+count);
}
//更高效
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int count = 0;
while (n != 0) {
n = n & (n-1);
count++;
}
System.out.println(count);
模拟登陆
编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序
//模拟登陆
int i;
Scanner sc=new Scanner(System.in);
System.out.println("设置密码:");
int code=sc.nextInt();
for( i=3;i>0;i--){
System.out.println("输入密码:");
int againCode=sc.nextInt();
if(againCode==code) {System.out.println("成功登陆!");break;}
else System.out.println("密码错误,请重新输入!还可输入"+(i-1)+"次");
}
if(i==0) System.out.println("退出程序!");
提取二进制偶数位 奇数位分别输出
int i,j;
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
for(i=31;i>0;i-=2){
System.out.print(((num>>>i)&1)+" ");
}
System.out.println( );
for(i=30;i>=0;i-=2){
System.out.print(((num>>>i)&1)+" ");
}