1. 程式人生 > 其它 >四則運算第一、第二階段以及借鑑的第三階段

四則運算第一、第二階段以及借鑑的第三階段

第一階段 完成一個隨機數的

importjava.util.Random;

publicclasssizeyunxuan{



publicstaticvoidmain(String[]args){
inta;
for(a=0;a<8;a++)
{
Randomr=newRandom();
inti=r.nextInt(10);
intj=r.nextInt(10);
System.out.println(i+"+"+j+"=");
System.out.println(i+"-"+j+"=");
System.out.println(i+"*"+j+"=");
System.out.println(i+"/"+j+"=");
}

}

}

第二階段 完成不重複的四則運算

package myi;
importjava.util.Random;

importjava.util.Scanner;


publicclasssizeyunxuan{

publicstaticvoidmain(String[]args){

int[]a=newint[100];
int[]b=newint[100];


Scannerscan=newScanner(System.in);
intn;
System.out.println("請輸入需要的題目數:");
n=scan.nextInt();



inti,j;
for(i=0;i<n;i++)
{

Randomr=newRandom();
a[i]=r.nextInt(99);
b[i]=r.nextInt(99);

for(j=0;j<i;j++){
if(a[i]==b[j]&&b[i]==a[j]){
a[i]=r.nextInt(99)-1;
}
}
intt=(int)r.nextInt(4);
switch(t)
{
case0:
System.out.println(a[i]+"+"+b[i]+"=");
break;
case1:
System.out.println(a[i]+"-"+b[i]+"=");
break;
case2:
System.out.println(a[i]+"*"+b[i]+"=");
break;
case3:
System.out.println(a[i]+"/"+b[i]+"=");
break;
}




}

}

}

第三階段輸出三個數的四則運算不重複(帶括號)隨機(j借鑑網路上大佬的程式碼與我自己的思路有所不同但基本結構以及本質都一樣)

public class myi {
	public static void main(String[] args) throws IOException {
		File file= new File("C:\\Users\\ASUS\\Desktop\\Java\\2020 3 10\\src\\a\\result.txt");
		PrintStream ps = new PrintStream("C:\\Users\\ASUS\\Desktop\\Java\\2020 3 10\\src\\a\\shengcheng.txt");
		Writer out = new FileWriter(file);
		int c;
		Scanner sc=new Scanner(System.in);
		System.out.print("請輸入題目個數:");
		int tg=sc.nextInt();
		System.out.print("請輸入運算元的範圍(如 100,1000等):");
		int tf=sc.nextInt();
		System.out.println("請選擇是否有負數:1:有  0:沒有");
		int zf=sc.nextInt();
		System.out.println("請選擇是否包含*或者/:2:否 4:是 ");
		int fu=sc.nextInt();
		System.setOut(ps);
		for(int i=0;i<tg;i++) {//迴圈控制題目個數
			
			//第一個運算元的選擇
			int a=(int)(Math.random()*tf);
			
			if(zf==1) {//有負數
			int p=(int) (Math.random()*2);
				switch(p) {
				case 0:a=a*(-1);//取負數
					   System.out.print(a);break;
				case 1:
				   	   System.out.print(a);break;
				}
			}
			if(zf==0)System.out.print(a);
			else{//選擇兩個字元‘+’‘-’
			int k=(int)(Math.random()*2);
			switch(k) {//隨機選擇運算子
				case 0:System.out.print("+");
					   break;
				case 1:System.out.print("-");
					   break; 
   						}
			int b=(int)(Math.random()*(tf-a));
			while(b>a)b=(int)(Math.random()*(tf-a));
			if(zf==1) {//有負數
				int p=(int) (Math.random()*2);
					switch(p) {
					case 0:b=b*(-1);//取負數
						   System.out.print(b);break;
					case 1:
					   	   System.out.print(b);break;
					}
				}
			else System.out.print(b);
			System.out.println("=");
			String huanhang="\r\n";
			if(k==0) 
			{
				c=a+b;
				out.write( Integer.toString(c)+huanhang);
			}
			else {c=a-b;	out.write( Integer.toString(c)+huanhang);}		
			}
			if(fu==4) {//四個字元的‘+’‘-’‘*’‘/’
			int k=(int)(Math.random()*4+1);
			switch(k) {//隨機選擇運算子
			case 1:System.out.print("+");break;
			case 2:System.out.print("-");break;
			case 3:System.out.print("*");break;
			case 4:System.out.print("/");break;
			}
			
			//第二個運算元的選擇
			int b=(int) (Math.random()*tf+1);
			
			if(zf==1) {//有負數
				int p=(int) (Math.random()*2);
					switch(p) {
					case 0:b=b*(-1);//取負數
						   System.out.print(b);break;
					case 1:
					   	   System.out.
print(b);break; } } if(zf==0) System.out.print(b); System.out.println("="); if(k==1) { c=a+b;out.write(c); } if(k==2) { c=a-b;out.write(c); } if(k==3) { c=a*b;out.write(c); } if(k==4) { c=a/b;out.write(c); } } }out.close(); } }