Java 迴圈語句練習題(1)
阿新 • • 發佈:2019-02-10
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+"天");
}
}