Java常见练习1

水仙花数

 //水仙花数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)+" ");
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值