新闻资讯
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(http://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(http://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(http://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("程序结束");
}
回复列表