java小作業(三)

dida_sai發表於2018-07-25

1.編寫一個Java程式輸出1!+2!+3!+……+10!的和

public static void main(String[] args) {

		int sum=0;
		int num=1;		
		while (num<=10) {
			int a=1;
			for (int i = 1; i <=num; i++) {
				a*=i;		
			}
			sum+=a;
			num++;
		}
		System.out.println(sum);
	}

2.利用三目運算子的巢狀來完成此題:
            學習成績> =90分的同學用A表示,
            60-89分之間的用B表示,
            60分以下的用C表示

public static void main(String[] args) {
	
		char score;
		System.out.println("(輸入-1退出)");
		while (true) {
			System.out.print("請輸入成績:");
			Scanner cin = new Scanner(System.in);
			int a = cin.nextInt();			
			if (a==-1) {
				System.out.println("已結束程式");
				System.exit(0);				
			}
			score=a>100?'+':a>=90?'A':a>=60?'B':a>=0?'C':'-';
			System.out.println("成績為:"+score);			
		}				
	}

3.輸入一個小數,實現再次輸入1向上取整2四捨五入3向下取整

public static void main(String[] args) {

		int a = 0;
		while (true) {
			System.out.print("請輸入要取整的數:");
			Scanner cin = new Scanner(System.in);//引入控制檯輸入的類
			double b = cin.nextDouble();//控制檯輸入
			System.out.println("1.像上取整\n2.四捨五入\n3.向下取整\n(輸入-1退出)");//選項
			int c = cin.nextInt();
			if (c==-1) {
				System.out.println("已結束程式");
				System.exit(0);				
			} else if (c==1) {
				a=(int) b+1;
			} else if (c==2) {
				a=(int) b;//取輸入的b的整數部分
				if (b-a>=0.5) {//取輸入的b的小數部分並判斷
					a=(int) b+1;//向上取整
				} 
			} else if (c==3) {
				a=(int) b;//向下取整
				} 
			else {
				System.out.println("請輸入正確的數");
			}
			System.out.println("取整結果為:"+a);			
		}	
	}

4.完成可進行多次輸入三個int數,並進行三角形判斷(while)並設定退出多次迴圈的條件

public static void main(String[] args) {
		double a,b,c;
		while (true) {
			Scanner cin=new Scanner(System.in);
			System.out.println("請輸入三角形的三條邊:(輸入0退出)");
			a=cin.nextDouble();
			if (a==0) {
				System.out.println("已結束程式");
				System.exit(0);
			}
			b=cin.nextDouble();
			if (b==0) {
				System.out.println("已結束程式");
				System.exit(0);
			}
			c=cin.nextDouble();
			if (c==0) {
				System.out.println("已結束程式");
				System.exit(0);
			}
			if (a+b>c && a+c>b && b+c>a && a-b<c && a-c<b && b-c<a) {
				System.out.println("abc三邊能構成三角形");
				if (a==b && a==c) {
					System.out.println("等邊三角形");
				} else if ((a*a+b*b==c*c || a*a==b*b+c*c || a*a+c*c==b*b) && (a==b || a==c || b==c)) {
					System.out.println("等腰直角三角形");
				} else if (a==b || a==c || b==c) {					
					System.out.println("等腰三角形");
				} else if (a*a+b*b==c*c || a*a==b*b+c*c || a*a+c*c==b*b) {
					System.out.println("直角三角形");
				}
			} else {
				System.out.println("abc三邊不能構成三角形");
				System.exit(0);
			}
		}
		
	}

 

5.紅包遊戲

public static void main(String[] args) {

		double a,b,c;
		while (true) {
			Scanner cin = new Scanner(System.in);
			
			//發紅包
			System.out.print("請輸入要發紅包的金額:");
			a=cin.nextDouble();
			System.out.print("請輸入要發紅包的個數:");
			b=cin.nextDouble();
			c=a/b;//人均紅包
			if (c<0.01) {
				System.out.println("傳送失敗,您也太摳了吧!");
				break;
			}
			System.out.println("傳送成功!\n");
			
			//搶紅包
			System.out.print("輸入1開始搶紅包");
			int num = cin.nextInt();
			if (num==1) {
				//保留兩位小數的字元轉換,小數點後兩位的錢都被馬化騰搶走了
				double d = c*100;
				int e = (int) d;
				float f = e/100f;
				System.out.println("恭喜你!獲得"+f+"元!\n");
			}
			System.out.println("是否繼續發紅包?(1、有錢任性,發發發!\t2、算了算了,回去搬磚啊。)");
			int num2 = cin.nextInt();
			if (num2==1) {
				continue;
			} else if (num2==2){
				System.out.println("DNF遊戲啟動中……");
				break;
			}
			
		}	
	}

 

相關文章