Java 循环习题10道(包含while、do...while、for)

1、改写猜数字游戏

publicstaticvoid main(String[] args) {

       // 记录用户输入的数字

       int guess = -1;

       // 记录用户输入次数

       int count = 0;

       // 生成1-100之间随机数

       int num = (int) (int)(Math.random()*100)+1;

Scanner sc = new Scanner(System.in);

       // 循环猜数字

       do {

           System.out.println("请输入1-100之间的数字");

           guess = sc.nextInt();

           if (guess > num) {

              System.out.println("哥们,太大了");

           } elseif (guess < num) {

              System.out.println("哥们,太小了");

           } else {

              System.out.println("恭喜,中啦");

           }

           count++;

       } while (num != guess);

       System.out.println("你猜测的数字是:" + num + "猜测了" + count + "次");

    }
2、计算器游戏

  ( 系统自动生成2个随机数用于参与运算系统生成0-4之间的随机数,表示加减乘除取模运算 使用switch 进行匹配)

class Couter {

    publicstaticvoid main(String[] args) throws InterruptedException {

         // 生成随机数Math.random()生成0-1值,不包含0和1,

         //乘以10得到0和10之间的数(double类型),不包含0和10

         //强转为int,并加1得到1和10之间的数,包含1和10

        int x = (int)(Math.random()*10)+1;   

        int y = (int)(Math.random()*10)+1;         

        System.out.println(x);

       System.out.println(y);

       // 创建0-4随机数 0 1 2 3 4 各表示加减乘除取模

       int z = (int) (int)(Math.random()*5);

       System.out.println(z);

       switch (z) {

       case 0:

           System.out.println(x + "+" + y + "=?");

           System.out.println("哥们快猜。。。。");

           Thread.sleep(2000);

           System.out.println(x + "+" + y + "=" + (x + y));

           break;

       case 1:

           System.out.println(x + "-" + y + "=?");

           System.out.println("哥们快猜。。。。");

           Thread.sleep(2000);

           System.out.println(x + "-" + y + "=" + (x - y));

           break;

       case 2:

           System.out.println(x + "*" + y + "=?");

           System.out.println("哥们快猜。。。。");

           Thread.sleep(2000);

           System.out.println(x + "*" + y + "=" + (x * y));

           break;

       case 3:

           System.out.println(x + "/" + y + "=?");

           System.out.println("哥们快猜。。。。");

           Thread.sleep(2000);

           System.out.println(x + "/" + y + "=" + (x / y));

           break;

       case 4:

           System.out.println(x + "%" + y + "=?");

           System.out.println("哥们快猜。。。。");

           Thread.sleep(2000);

           System.out.println(x + "%" + y + "=" + (x % y));

           break;

       }

    }

}
3、打印5次hello world

publicstaticvoid main(String[] args) {

       int x = 0;

       while (x < 5) {

           System.out.println("hello java ");

       }

}
4、获取1-10的和

publicstaticvoid main(String[] args) {

       // 获取1到10的和1+2+3+4+5+6+7+8+9+10

       int sum = 0;

       for (int x = 1; x <= 10; x++) {

           System.out.println((sum + x) + "=" + sum + "+" + x);

           sum = sum + x;

       }

       System.out.println(sum);// 55

    }
5、 1-100之间 7的倍数的个数

publicstaticvoid main(String[] args) {

       // 1-100之间 7的倍数的个数,并打印。

       int count = 0;

       for (int x = 0; x <= 100; x++) {

           if (x % 7 == 0) {

              System.out.println(x);

              count++;

           }

       }

       System.out.println(count);

}

6、买奴隶男人3个金币,女人2个金币,小孩1个金币,现在有50个金币,要买30人,能怎么买?

public class while04 {

    public static void main(String[] args) {
        /* 男3 女2 孩1
            共50金币,买30人
            买多少?
        */
        
        int m = 3;
        int w = 2;
        int c = 1;
        
        int count=0;
        
        for(int i=0;i<=(50/3);i++) {
            for(int j=0;j<=(50/2);j++) {
                for(int k=0;k<=50;k++) {
                    if(i+k+j==30 && m*i+w*j+c*k==50) {
                        System.out.println("男人买了"+i+"个,女人买了"+j+"个,小孩买了"+k+"个~");
                        count++;
                    }
                }
            }
            
        }
        System.out.println("一共有"+count+"种组合");

    }

}

7、计算100以类的偶数和

int a = 1;
        int add = 0;
        while (a <= 100) {
            if (a % 2 == 0) {
                add = add + a;
                a++;
            } 
            a++;
        }
        System.out.println("偶数和是:" + add);
8、输出摄氏温度与华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。

    转换关系:华氏温度 = 摄氏温度 * 9 / 5.0 + 32

double f=0.0;//表示华氏温度
double c=0.0;//表示摄氏温度
int num=0;
do {
    System.out.print("摄氏温度"+"\t"+"华氏温度");
    System.out.println();
    System.out.print(c+"\t");
f=c*9/5.0+32;
c=c+20;
num++;
 
System.out.println(f);
} while (num<=10&&c<=250);
9、计算成绩和人数

(由用户输入多个学员成绩,当输入-1时结束循环,输出一共输入多少人,和输入的这些学员的总分数,不能把-1加进去)

import java.util.Scanner;
public class Demo2{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        int score ;//成绩
        int sum = 1;//总成绩
        int count = 0;//循环码
        int count2 = -1;//人数统计,-1是因为输入-1需要被记一次数
        do{
            System.out.println("请输入成绩:");
            score = input.nextInt();
            count2 ++;
            sum += score;
            if (score == -1)
            {    count = -1;//跳出循环
            }            
        }
        while (count != -1);
        System.out.println("总成绩"+sum+"一共有"+count2+"个学生");
    }
}
10、查询商品价格并计算总金额

(循环输入商品编号,显示对应的商品价格,输入“n”结束循环 ,并计算总金额。)

import java.util.Scanner;
public class Demo4{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        int score;//编号
        int sum = 0;//总金额
        String sw = "y";//是否继续
        System.out.println("***********商品**********");
        System.out.println("1.T恤;2.网球鞋 3.网球拍");        
        System.out.println("*************************");
        while (!sw.equals("n")){
            System.out.println("请输入编号:");
            score = input.nextInt();
            switch (score)
            {
            case 1:
                System.out.println("T恤:  ¥245");
                System.out.println("是否继续(y/n)");
                sw = input.next();
                sum += 245;
                break;
            case 2:
                System.out.println("网球鞋 ¥570");
                System.out.println("是否继续(y/n)");
                sw = input.next();
                sum += 570;
                break;
            case 3:
                System.out.println("网球拍 ¥380");
                System.out.println("是否继续(y/n)");
                sw = input.next();
                sum += 380;
                break;
            }
        }
        System.out.println("总金额:"+sum);
        System.out.println("程序结束");
    }
}
 

你可能感兴趣的:(Java 循环习题10道(包含while、do...while、for))