小練習----春夏秋冬,迴文數,不死神兔,去掉最高最低求和,陣列反轉,簡單加密
阿新 • • 發佈:2018-12-17
春夏秋冬
Scanner sc = new Scanner(System.in); int a = sc.nextInt(); if (a == 1 || a == 2 || a == 12) { System.out.println("冬天"); } else if (a == 3 || a == 4 || a == 5) { System.out.println("春天"); } else if (a == 6 || a == 7 || a == 8) { System.out.println("春天"); } else if (a == 8 || a == 9 || a == 10) { System.out.println("秋天"); } else { System.out.println("輸入有誤"); } //第二種寫法 Scanner sc = new Scanner(System.in); int a = sc.nextInt(); switch(a){ case 12: case 1: case 2: System.out.println("冬天"); break; case 3: case 4: case 5: System.out.println("春天"); break; case 6: case 7: case 8: System.out.println("夏天"); break; case 9: case 10: case 11: System.out.println("秋天"); break; default: System.out.println("出錯了"); }
迴文數
//迴文數:12321,23432...
int count=0;
for(int a=10000;a<=100000;a++){
int ge=a%10;
int shi=a/10%10;
int bai=a/10/10%10;
int qian=a/10/10/10%10;
int wan=a/10/10/10/10%10;
if(ge==wan&&qian==shi){
System.out.println(a);
count++;
}
}
System.out.println("----------------");
System.out.println(count);
不死神兔
//方法一 int[] arr=new int[20]; arr[0]=1; arr[1]=1; int sum=0; for(int a=2;a<arr.length;a++){ arr[a]=arr[a-1]+arr[a-2]; sum=arr[a]; //System.out.println(arr[a]); } System.out.println(sum); //方法二 //規律:本月數量=上個月+上上個月 //第一個月=1,第二個月=1+0,第三個月=1+1;,第四個月=2+1..... int one=1; int two=1; int sum=0; for(int a=1;a<=18;a++){ sum=one+two; two=one; one=sum; System.out.println(sum); }
不死神兔出錯原因
去掉最高最低求和
//5個數,去掉最高,去掉最低,求剩餘數的平均數 int[] arr = { 1, 2, 3, 4, 5 }; // 取最大值=5 int max = arr[0]; for (int a = 0; a < arr.length; a++) { if (max < arr[a]) { max = arr[a]; } } System.out.println(max); // 取最小值=1 int min = arr[0]; for (int a = 0; a < arr.length; a++) { if (min > arr[a]) { min = arr[a]; } } System.out.println(min); System.out.println("---------------"); // 求和 int sum = 0; for (int a = 0; a < arr.length; a++) { //一開始我用||判斷,但是會輸出所有結果 //我的想法是1!=1,不滿足,然後刪掉,沒考慮後面還有1!=5,這個是滿足的,所以還是算滿足條件,結果是輸入1 //1!=1或1!=5,其實這個是滿足的,所以不能用||來判斷 //後來改成用&&判斷,就能順利刪掉,1!=1且1!=5,不滿足 if (arr[a] !=min && arr[a] !=max) { sum += arr[a]; System.out.println(sum); } } System.out.println("---------------"); System.out.println(sum / (arr.length - 2));
陣列反轉
int[] arr=new int[7];
//建立鍵盤錄入
Scanner sc=new Scanner(System.in);
//for迴圈輸入數字確定陣列成員
for(int a=0;a<arr.length;a++){
System.out.println("no."+(a+1)+"number=");
arr[a]=sc.nextInt();
}
int kaishi=0;
int zuihou=arr.length-1;
//temp,臨時的意思
int temp=0;
//第一種方法
for(kaishi=0,zuihou=arr.length-1;kaishi<=zuihou;kaishi++,zuihou--){
temp=arr[kaishi];
arr[kaishi]=arr[zuihou];
arr[zuihou]=temp;
System.out.println(arr[kaishi]);
}
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑繼續簡化↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
for (kaishi = 0; kaishi <= zuihou - kaishi; kaishi++) {
temp = arr[kaishi];
arr[kaishi] = arr[zuihou - kaishi];
arr[zuihou - kaishi] = temp;
System.out.println(arr[kaishi]);
}
System.out.println("--------");
//第二種方法
/* for (int i = 0; i < arr.length / 2; i++) {
temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
System.out.println(arr[i]);
}*/
for(int a=0;a<arr.length;a++){
System.out.println(arr[a]);
}
簡單加密
// 建立鍵盤錄入,輸入4位整數
Scanner sc = new Scanner(System.in);
int[] arr=new int[4];
/* 第一步:先錄入4位數 {4,5,6,7}
for(int a=0;a<arr.length;a++){
System.out.println("請輸入第"+(a+1)+"位整數:");
int shuzi = sc.nextInt();
arr[a]=shuzi;
}*/
/* 第二步:每個數加上5 {9,10,11,12}
for(int a=0;a<arr.length;a++){
System.out.println("請輸入第"+(a+1)+"位整數:");
int shuzi = sc.nextInt();
arr[a]=shuzi+5;
}*/
/* 第三步:對10取餘,%10 {9,0,1,2}
for(int a=0;a<arr.length;a++){
System.out.println("請輸入第"+(a+1)+"位整數:");
int shuzi = sc.nextInt();
arr[a]=(shuzi+5)%10;
}*/
//第四步:第一和第四,第二和第三互換位置 {2,1,0,9}
for(int a=0;a<arr.length;a++){
System.out.println("請輸入第"+(a+1)+"位整數:");
int shuzi = sc.nextInt();
arr[a]=(shuzi+5)%10;
}
int kaishi=0;
int zuihou=arr.length-1;
for(kaishi=0;kaishi<zuihou-kaishi;kaishi++ ){
int temp=arr[kaishi];
arr[kaishi]=arr[zuihou-kaishi];
arr[zuihou-kaishi]=temp;
}
for(int a=0;a<arr.length;a++){
System.out.print(arr[a]);
}