1. 程式人生 > >Java-------猜拳小遊戲,四則運算等

Java-------猜拳小遊戲,四則運算等

(1)、我國最高山峰是珠穆朗瑪峰,8848米。現在我有一張足夠大的紙,它的厚度是0.001米。請問,摺疊多少次,可以折成珠穆朗瑪峰的高度。(難點:迴圈條件的改變)

(2)、編寫程式計算12+22+32+....+1002的和。

(3)、編寫程式,列印1到100之內的整數,但數字中包含7的要跳過。

難點條件(i/10!=7&&i%10!=7)

(4)、編寫程式,生成5個1至10之間的隨機整數,並列印。(難點:隨機數生成方法)

(5)、計算101-200之間有多少個素數(素數:只能被1和本身整除的數),並輸出所有素數。

(6)、編寫程式,實現小學生四則運算。

(7)、猜拳遊戲的進一步實現(考慮三局兩勝)

import java.util.Random;
import java.util.Scanner;

public class ForHomework_1 {

	public static <bool> void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("作業:");
        System.out.println("(1)、我國最高山峰是珠穆朗瑪峰,8848米。現在我有一張足夠大的紙,它的厚度是0.001米。");
	    System.out.println("     請問,摺疊多少次,可以折成珠穆朗瑪峰的高度。(難點:迴圈條件的改變)");
	    System.out.println("(2)、編寫程式計算12+22+32+....+1002的和。");
	    System.out.println("(3)、編寫程式,列印1到100之內的整數,但數字中包含7的要跳過。難點條件(i/10!=7&&i%10!=7)");
	    System.out.println("(4)、編寫程式,生成5個1至10之間的隨機整數,並列印。(難點:隨機數生成方法)");
	    System.out.println("(5)、計算101-200之間有多少個素數(素數:只能被1和本身整除的數),並輸出所有素數。");
	    System.out.println("(6)、編寫程式,實現小學生四則運算。");
	    System.out.println("(7)、猜拳遊戲的進一步實現(考慮三局兩勝)");
	    System.out.println("(0) 退出");
	    System.out.print("請輸入你選擇的操作:");
	    int n;
	    @SuppressWarnings("resource")
		Scanner scanner=new Scanner(System.in);
	    n=scanner.nextInt();
	    while(n!=0)
	    {
	    	if(n==1)//珠穆朗瑪峰
	    	{
	    		double width=0.001;
	    		int number=0;
	    		while(width<=8848)
	    		{
	    			width=2*width;
	    			number++;
	    		}
	    		System.out.println("至少需要對摺"+number+"次");
	    	}
	    	if(n==2)//計算和
	    	{
	    		int sum=0;
	    		for(int i=12;i<=1002;i+=10)
	    			sum+=i;
	    		System.out.println("12+22+32+....+1002的結果="+sum);
	    	}
	    	if(n==3)//跳7
	    	{    
	    		int changeline=0;
	    		for(int i=1;i<=100;i++)
	    		{
	    			if(i/10!=7&&i%10!=7)
	    				{
	    				 System.out.printf("%-4s",i);
	    				 changeline++;
	    				}
	    			if(changeline%7==0)
	    				System.out.println();
	    		}
	    		System.out.println();
	    	}
	    	if(n==4)//隨機數
	    	{
	    		int randomNumber1=new Random().nextInt(10);
	    		int randomNumber2=new Random().nextInt(10);
	    		int randomNumber3=new Random().nextInt(10);
	    		int randomNumber4=new Random().nextInt(10);
	    		int randomNumber5=new Random().nextInt(10);
	    		System.out.println("---隨機數已生成---");
	    		System.out.println(randomNumber1+"  "+randomNumber2+"  "+randomNumber3+"  "+randomNumber4+"  "+randomNumber5);
	    	}
	    	if(n==5)//素數
	    	{
	    		   int primeNumber=0;
	    		   
				   boolean  prime;
	    		   for(int m=101;m<200;m+=2)
	    		   {
	    			   prime=true;
	    			   int k=(int) Math.sqrt(m);
	    			   for(int i=2;i<=k;i++)
	    			     if(m%i==0)
	    				   {
	    					   prime=false;
	    					   break;
	    				   }
	    			   if(prime==true)
	    			   {
	    			   primeNumber++;
	    			   System.out.printf("%-4s",m);
	    			   if(primeNumber%10==0)
	    			   System.out.println();
	    			   }
	    		   }
	    		   System.out.println();
	    		   System.out.print("101~200之間共有素數"+primeNumber+"個");
	    		   System.out.println();
	    	}
	    	if(n==6)//四則運算
	    	{
	    		System.out.println("---四則運算---");
	    		Random r=new Random();
	    		int i=1;//記錄迴圈次數
	    		int number=0;//記錄答對的次數
	    		while(i<=10)
	    		{   
	    		int x=r.nextInt(10)+1;//隨機生成第一個數
	    		int y=r.nextInt(10)+1;//隨機生成第二個數
	    		double  z = 0 ;//記錄正確答案
	    		double  result  ;//使用者輸入答案
	    		
	    		String[] opStrings={"+","-","*","/"};
	    		   String p=opStrings[r.nextInt(4)];//隨機生成運算子
	    		   switch(p)
	    		   {
	    		   case "+":z=x+y;break;
	    		   case "-":z=x-y;break;
	    		   case "*":z=x*y;break;
	    		   case "/":z=(double)x/y;break;
	    		   }
	    		   System.out.print(x+p+y+"=");
	    		   result=scanner.nextInt();
	    		   if(result==z)
	    		   {
	    			    System.out.println("你真棒 做對了呢^_^");
	    			    number++;
	    		   }
	    			  
	    		   else {
					System.out.println("真是遺憾呢   繼續加油吧");
				    }
	    		   i++;//每次迴圈加一
	    		}
	    		if(number==10)
	    			System.out.println("你真是個小天才!!!");
	    		System.out.println("本次測試你一共答對了"+number+"道");
	    		
	    	}
	    	if(n==7)//猜拳遊戲
	    	{
	    		System.out.println("歡迎來到猜拳遊戲^_^");
	    		System.out.println("0石頭     1剪刀     2布");
	    		System.out.println("本次規則為三局兩勝制    祝您玩的開心");
	    		int userWin=0,userloss=0;
	    		System.out.println("開始:");
	    		while(userWin<2&userloss<2)//只要有一方贏的次數大於等於2就結束
	    		{	
	    		int randomNumber=new Random().nextInt(3);
	    		System.out.print("請輸入您的選擇(0石頭     1剪刀     2布):");
	    		int user;
	    		user=scanner.nextInt();
	    		if(user==randomNumber)
	    			System.out.println("平局!!!");
	    		else if(user-randomNumber==-1|user-randomNumber==2)//自己試著把情況列出來找規律
	    		{
	    			System.out.println("恭喜  玩家贏了ヽ(゚∀゚)メ(゚∀゚)ノ ");
						userWin++;
	    		}
	    		else {
					System.out.println("玩家輸了(╥╯^╰╥)");
	    				userloss++;
				}
	    		}
	    		System.out.println("比賽結束");
	    		if(userloss>userWin)
	    		{
	    			System.out.println("很遺憾!!!玩家遺憾離場");
	    			System.out.println("最終結果--玩家贏了"+userWin+"局--玩家輸了"+userloss+"局");
	    		}
	    		else {
					System.out.println("讓我們恭喜玩家獲得本次比賽冠軍!!!");
					System.out.println("最終結果--玩家贏了"+userWin+"局--玩家輸了"+userloss+"局");
				}
	    	}
	    	System.out.print("請輸入您的操作:");
	    	n=scanner.nextInt();
	    }
	    System.out.println("————————作業已完成————————");
	}


}