1. 程式人生 > >小練習----春夏秋冬,迴文數,不死神兔,去掉最高最低求和,陣列反轉,簡單加密

小練習----春夏秋冬,迴文數,不死神兔,去掉最高最低求和,陣列反轉,簡單加密

春夏秋冬

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]);
	
}