java學習第7天
今日學習內容
對前幾天所學內容做一些基礎練習。
練習一:減肥計劃·if版
要求:輸入星期數,顯示今天的減肥活動。
週一:跑步,週二:游泳,週三:慢走,週四:動感單車,週五:拳擊,週六:爬山,週日:休息。
package myproject;
import java.util.Scanner;
public class jichulianxi1 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("請輸入星期天數:");
int day=sc.nextInt();
if(day==1) {
System.out.println("跑步");
}else if(day==2){
System.out.println("游泳");
}else if(day==3){
System.out.println("慢走");
}else if(day==4){
System.out.println("動感單車");
}else if(day==5){
System.out.println("拳擊");
}else if(day==6){
System.out.println("爬山");
}else if(day==7){
System.out
}else {
System.out.println("輸入錯誤,請重新輸入。");
}
}
}
練習二:減肥計劃switch版
要求同練習一相同。
package myproject;
import java.util.Scanner;
public class jichulianxi2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入星期天數:");
int day=sc.nextInt();
switch (day) {
case 1:
System.out.println("跑步");
break;
case 2:
System.out.println("游泳");
break;
case 3:
System.out.println("慢跑");
break;
case 4:
System.out.println("動感單車");
break;
case 5:
System.out.println("拳擊");
break;
case 6:
System.out.println("爬山");
break;
case 7:
System.out.println("好好吃一頓");
break;
default:
System.out.println("輸入錯誤,請重新輸入。");
}
}
}
基礎練習3:遊戲逢7過
遊戲規則:
從任意一個數開始報數,當你要報的數包含7或是7的倍數,要求說過。
要求在控制檯打印出需要1~100內需要說過的資料。
package myproject;
public class jichulianxi3 {
public static void main(String[] args) {
System.out.print("需要說過的資料:");
for(int i=1;i<100;i++) {
if((i%7==0)||(i%10==7)||(i/10==7))
System.out.print(i+" ");
}
}
}
基礎練習4:不死神兔
問題:有一對兔子,出生後第三個月起每一個月生一對兔子,小兔子長到第3個月後,每一個月又生一對兔子。假設沒一對兔子都不死,問出生第20個月後有多少對兔子?
思路:(1) 定義一個數組,動態初始化初始陣列元素的值,陣列長度為20。
(1) 前兩項陣列元素值為1,1,從第三項起陣列的每位元素值為前兩項之和。
//通過規律發現,然後推理驗證可得。
package myproject;
public class jichulianxi4 {
public static void main(String[] args) {
int []arr=new int[20];
arr[0]=1;
arr[1]=1;
for(int i=2;i<arr.length;i++) {
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("第20個月兔子對數:" +arr[19]);
}
}
基礎練習5:百錢百雞
公雞5文錢一隻,母雞3文錢1只,雞雛1文錢3只,100錢買100只雞,問公雞、母雞、雞雛多少隻?
窮舉法:
設公雞a只,母雞b只,小雞c只。
兩層迴圈:0=<a<=20, 0=<b<=33,
c=100-a-b;
滿足a+b+c=100; 5*a+3*b+c/3=100條件可得。
package myproject;
public class jichulianxi5 {
public static void main(String[] args) {
int a,b,c;
for(a=0;a<=20;a++) {
for(b=0;b<=33;b++) {
c=100-a-b;
if((5*a+3*b+c/3==100)&&(c%3==0)) {
System.out.println(a+"只"+b+"只"+c+"只");
}
}
}
}
}
基礎練習6:陣列求和
給定一個數組{68,27,95,88,171,996,51,210}求陣列中滿足要求的元素和、
要求元素的個位和十位都不能是7,而且必須是偶數。
定義一個數組,靜態初始化,從陣列第一項判斷置否符合條件,符合做累加操作。
package myproject;
public class jichulianxi6 {
public static void main(String[] args) {
int []arr= {68,27,95,88,171,996,51,210};
int sum=0;
for(int i=0;i<arr.length;i++) {
if((arr[i]%10!=7)&&(arr[i]/10!=7)&&(arr[i]%2==0)){
sum+=arr[i];
}
}
System.out.println(sum);
}
}