1. 程式人生 > >java基礎程式碼練習

java基礎程式碼練習

1、用switch語句實現鍵盤錄入月份,輸出對應的季節

import java.util.Scanner;
public class T11{
 public static void main(String[] args){
  Scanner s=new Scanner(System.in);
  System.out.println("請輸入一個月份數字:");
  int month=s.nextInt();
  switch(month){
   case 1:
   System.out.println(month+"月屬於春季");
   break;
         case 2:
   System.out.println(month+"月屬於春季");
   break;
   case 3:
   System.out.println(month+"月屬於春季");
   break;
   case 4:
   System.out.println(month+"月屬於夏季");
   break;
   case 5:
   System.out.println(month+"月屬於夏季");
   break;
   case 6:
   System.out.println(month+"月屬於夏季");
   break;
   case 7:
   System.out.println(month+"月屬於秋季");
   break;
   case 8:
   System.out.println(month+"月屬於秋季");
   break;
   case 9:
   System.out.println(month+"月屬於秋季");
   break;
   case 10:
   System.out.println(month+"月屬於冬季");
   break;
   case 11:
   System.out.println(month+"月屬於冬季");
   break;
   case 12:
   System.out.println(month+"月屬於冬季");
   break;
   default:
   System.out.println("輸入數字不在1-12範圍內,請重新輸入");
  }
 } 
}


2、下列題目使用for迴圈語句:
習題一:請在控制檯輸出資料1-10


public class T21{
 public static void main(String[] args){
  for(int i=1;i<=10;i++){
   System.out.print(i+" ");
  }
 }
}習題二:請在控制檯輸出資料10-1
習題四:求出1-100之間偶數和


class T24{
 public static void main(String[] args){
  int sum=0;
  for(int i=2;i<=100;i+=2){
   sum=sum+i;
  }
  System.out.println("1-100之間偶數和是:"+sum);
 }
}習題五:求出1-100之間奇數和
習題六:求5的階乘


class T26{
 public static void main(String[] args){
  int sum=1;
  for(int i=5;i>=1;i--){
   sum=sum*i;
  }
  System.out.println("5的階乘是:"+sum);
 }
}習題七:在控制檯輸出所有的”水仙花數”
習題八:統計”水仙花數”共有多少個


public class T28{
 public static void main(String[] args){
  int a,b,c;
  int sum=0;
  for(int i=100;i<1000;i++){
   a=i/100;
   b=i%100/10;
   c=i%10;
   if(a*a*a+b*b*b+c*c*c==i){
    sum=sum+1;
    
   }
  }
  System.out.println("水仙花數共有:"+sum+"個");
 }
}習題九:請在控制檯輸出滿足如下條件的五位數
          個位等於萬位
          十位等於千位
          個位+十位+千位+萬位=百位


class T29{
 public static void main(String[] args){
  int a,b,c,d,e;
  System.out.println("輸出符合條件的五位數:");
  for(int i=10000;i<=99999;i++){
   a=i/10000;
   b=i%10000/1000;
   c=i%10000%1000/100;
   d=i%10000%1000%100/10;
   e=i%10;
      if(e==a&&d==b&&a+b+d+e==c){
       System.out.println(i+" ");
      }
  }
 }
}習題十:請統計1-1000之間同時滿足如下條件的資料有多少個:
             對3整除餘2
             對5整除餘3
             對7整除餘2

public static void main(String[] args){
  System.out.println("符合要求的整數個數是:");
  int num=0;
  for(int i=1;i<=1000;i++){
   if(i%3==2&&i%5==3&&i%7==2){
    num=num+1;
   }
  }
  System.out.print(num+" ");
 }

3、下列題目使用while 語句
 習題一:請在控制檯輸出滿足如下條件的五位數
          個位等於萬位
          十位等於千位
          個位+十位+千位+萬位=百位


public class T31{
 public static void main(String[] args){
  int a,b,c,d,e;
  System.out.println("輸出符合要求的資料:");
  int i=10000;
  while (i<=99999){
   a=i/10000;
      b=i%10000/1000;
      c=i%10000%1000/100;
      d=i%10000%1000%100/10;
      e=i%10;
  if(e==a&&d==b&&a+b+d+e==c){
   System.out.println(i);
  }
  i++;
  }
 }
 
}        習題二:請統計1-1000之間同時滿足如下條件的資料有多少個:
             對3整除餘2
             對5整除餘3
             對7整除餘2


public class T32{
 public static void main(String[] agrs){
  int i=1;
  int num=0;
  System.out.println("符合要求的整數個數是:");
  while (i>=1&&i<=1000){
   if(i%3==2&&i%5==3&&i%7==2){
    num=num+1;
   }
   i++;
  }
  System.out.println(num+" ");
 } 習題三:我國最高山峰是珠穆朗瑪峰:8848m,我現在有一張足夠大的紙張,厚度為:0.01m。請問,我摺疊多少次,就可以保證厚度不低於珠穆朗瑪峰的高度?

class T33{
 public static void main(String[] args){
  int n=1;//定義摺疊次數
  double i=0.01,j=0;
  System.out.println("摺疊的次數為:");
  while(j<=8848){
   j=0.01*(2^n);//計算摺疊後的厚度
   n++;
  }
  System.out.println(n);
 }
}

4、下列題目使用do.......while 語句
 習題一:請在控制檯輸出滿足如下條件的五位數
          個位等於萬位
          十位等於千位
          個位+十位+千位+萬位=百位


class T41{
 public static void main(String[] args){
  int a,b,c,d,e;
  int i=10000;
  System.out.println("請輸出滿足條件的五位數:");
  do{
   a=i/10000;
   b=i%10000/1000;
   c=i%10000%1000/100;
   d=i%10000%1000%100/10;
   e=i%10;
   if(a==e&&b==d&&a+b+d+e==c){
    System.out.print(i+" ");
   }
    i++;
  }while(i>=10000&&i<=99999);
 }
}        習題二:請統計1-1000之間同時滿足如下條件的資料有多少個:
             對3整除餘2
             對5整除餘3
             對7整除餘2


class T42{
 public static void main(String[] args){
  int i=1,sum=0;
  System.out.println("滿足條件的資料的個數是:");
  do{
   if(i%3==2&&i%5==3&&i%7==2){
    sum=sum+1;
   }
   i++;
  }while(i>=1&&i<=1000);
  System.out.println(sum);
 }
}5、下列題目使用迴圈巢狀語句
 習題一:需求:請輸出一個4行5列的星星(*)圖案。


class T51{
 public static void main(String[] args){
  for(int i=1;i<=4;i++){
   for(int j=1;j<=5;j++){
    System.out.print("*");
    
   }
   System.out.println();
  }
 }
}        習題二:需求:請輸出如下圖形
   *
   **
   ***
   ****
    *****
        習題三: 需求:在控制檯輸出九九乘法表。

public class T53{
 public static void main(String[] args){
  for(int i=1;i<=9;i++){
   for(int j=1;j<=i;j++){
    System.out.print(j+"*"+i+"="+i*j+"\t");
   }
   System.out.println();
  }
 }
}

6、下列題目使用(迴圈語句結合break的練習)
   小芳的媽媽每天給她2.5元錢,她都會存起來,但是,每當這一天是存錢的第5天或者5的倍數的話,她都會花去6元錢,請問,經過多少天,小芳才可以存到100元錢。

public class T61{
 public static void main(String[] args){
  int day=0;
  double sum=0;
  while(true){
   sum=sum+2.5;
   if(day%5==0){
    sum=sum-6;
   }//小芳在5的倍數那天花去6元
   if(sum>=100){
    System.out.println("小芳經過"+day+"天存了100元");
    break;
   }
   day++;
  }
 }
}