Java 循环语句练习题(1)

时间:2023-02-22 14:43:59

1、for循环输出1 到100

package com.hz.loop;

/**
* 1、for循环输出1 到100
* @author ztw
*
*/
public class Practice01 {

public static void main(String[] args) {

for(int i=1;i<=100;i++){

System.out.println(i);

}
}
}

2、while循环输出1-100

package com.hz.loop;

/**
* 2、while循环输出1-100
* @author ztw
*
*/
public class Practice02 {

public static void main(String[] args) {
int i=1;
while(i<=100){
System.out.println(i);
i++;
}
}
}

3、循环输出以下结果:
2*5=10
4*10=40
6*15=90
……
?*100=?

package com.hz.loop;

/**
* 3、循环输出以下结果:
* 2*5=10
* 4*10=40
* 6*15=90
* ……
* ?*100=?
* @author ztw
*
*/
public class Practice03 {

public static void main(String[] args) {
/*
* 可以看做是乘数和被乘数以每次递增2和5的一种规则变化
*/
int a=2;
int b=5;
do{
System.out.println(a+" * "+b+" = "+(a*b));
a=a+2;
b=b+5;
}
while(b<=100);

}
}

4、要求用户输入一个0到2之间的整数,
如果用户输入0输出“你出的是石头”,
如果用户输入1就输出“你出的是剪刀”,
如果用户输入的是2就输出“你出的是布”,
然后再问是否要继续出拳,
如果回答“y”就重复以上过程,
否则结束程序。

package com.hz.loop;

import java.util.Scanner;

/**
* 4、要求用户输入一个0到2之间的整数,
* 如果用户输入0输出“你出的是石头”,
* 如果用户输入1就输出“你出的是剪刀”,
* 如果用户输入的是2就输出“你出的是布”,
* 然后再问是否要继续出拳,
* 如果回答“y”就重复以上过程,否则结束程序。
* @author ztw
*
*/
public class Practice04 {


public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("输入一个0到2之间的整数:");
int number = sc.nextInt();

for(;;){
if(number>=0&&number<=2){
//定义一个switch语句判断输出对应的值
switch(number){
case 0:
System.out.println("你出的是石头");
break;
case 1:
System.out.println("你出的是剪刀");
break;
case 2:
System.out.println("你出的是布");
break;
default:

break;
}
System.out.println("然后再问是否要继续出拳?(y/?)");
String choice = sc.next();
if(choice.equals("y")||choice.equals("Y")){

}else{
break;
}

}else{
System.out.println("请输入一个0到2之间的整数!");
}

}


}
}

5、让计算机随机产生10个0到2之间的数,
如果产生的是0就输出“生成了一只白猪,我好怕怕”,
如果产生的是1就输出“生成了一只黑猪,我喜欢”
如果产生的是2就输出“生成了一只红猪,有下酒菜了”。

package com.hz.loop;

import java.util.Random;

/**
* 5、让计算机随机产生10个0到2之间的数,
* 如果产生的是0就输出“生成了一只白猪,我好怕怕”,
* 如果产生的是1就输出“生成了一只黑猪,我喜欢”
* 如果产生的是2就输出“生成了一只红猪,有下酒菜了”。
* @author ztw
*
*/
public class Practice05 {

public static void main(String[] args) {
Random rd = new Random();
//让计算机随机产生10个0到2之间的数
for(int i=0;i<10;i++){
int number = rd.nextInt(2);
switch(number){
case 0:
System.out.println("生成了一只白猪,我好怕怕");
break;
case 1:
System.out.println("生成了一只黑猪,我喜欢");
break;
case 2:
System.out.println("生成了一只红猪,有下酒菜了");
break;
default:
break;
}
}
}
}

6、计算2000年1月1日到2008年1月1日相距多少天。(注意闰年)

package com.hz.loop;

/**
*
* 6、计算2000年1月1日到2008年1月1日相距多少天。(注意闰年)
*
* @author ztw
*
*/
public class Practice06 {

public static void main(String[] args) {
int sum = 0;
int day;
for(int i=2000;i<2008;i++){
//判断该年份是否是闰年
if((i%4==0&&i%100!=0)||(i%400==0)){
day=366;
}else{
day=365;
}
sum = sum+day;
}
System.out.println(sum);

}
}

7、循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。

package com.hz.loop;

import java.util.Scanner;

/**
* 7、循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。
* @author ztw
*
*/
public class Practice07 {

public static void main(String[] args) {
int sum = 0;
Scanner sc = new Scanner(System.in);
//循环输出
while(true){
System.out.println("请输入一个数:");
int number = sc.nextInt();
if(number==0){
break;
}else{
sum = sum+number;
}
}
System.out.println("累加的结果:"+sum);
}
}

8、我行我素购物管理系统>生日问候
请输入今天的日期(月/日<用两位数表示:): 05/29
请输入客户生日:08/09
然后判断是否今天生日
是否继续(y/n)
如果是y就重复以上步骤,否则退出程序*/

package com.hz.loop;

import java.util.Scanner;

/**
* 8、我行我素购物管理系统>生日问候
* 请输入今天的日期(月/日<用两位数表示:): 05/29
* 请输入客户生日:08/09
* 然后判断是否今天生日是否继续(y/n)
* 如果是y就重复以上步骤,否则退出程序
* @author ztw
*
*/
public class Practice08 {

public static void main(String args[]){
Scanner sc = new Scanner(System.in);

for(;;){
System.out.println("请输入今天的日期(月/日<用两位数表示:):");
String toDay = sc.next();
System.out.println("请输入客户生日:");
String brithday = sc.next();
if(toDay.equals(brithday)){
System.out.println("生日快乐,送你一个华为手机!");
break;
}
System.out.println("然后判断是否今天生日是否继续(y/n):");
String choice = sc.next();
if(choice.equals("y")||choice.equals("Y")){

}else{
break;
}

}
}
}

9、计算用户输入的日期离1900年1月1日相距多少天。(注意闰年,每个月份天数不一样)

package com.hz.loop;

import java.util.Scanner;

/**
* 9、计算用户输入的日期离1900年1月1日相距多少天。(注意闰年,每个月份天数不一样)
* @author ztw
*
*/
public class Practice09 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
//定义用户输入年份的变量year
int year = sc.nextInt();
System.out.println("请输入月份:");
//定义用户输入月份的变量month
int month = sc.nextInt();
//定义一个初始化变量sum表示相距0天
int sum = 0;
for(int i=1900;i<year;i++){
//判断输入的年份是否为闰年
if((i%4==0&&i%100!=0)||(i%400==0)){
sum+=366;
}else{
sum+=365;
}
}
for(int i=1;i<month;i++){
//判断输入的月份是否为大月
if(i==1||i==3||i==5||i==7||i==8){
sum+=31;
}else if(i==2){
//判断输入的年份是否为闰年
if((year%4==0&&year%100!=0)||year%400==0){
sum+=29;
}else{
sum+=28;
}
//不是大月
}else{
sum+=30;
}
}
//输出计算结果
System.out.println("用户输入的日期离1900年1月1日相距"+sum+"天");
}
}