感谢自己寒假能够稍稍做一点努力。
Github个人页面<构建之法阅读笔记二可见>:
https://github.com/Heartxy8990
申请教程:
http://jingyan.baidu.com/article/0a52e3f4c34347bf62ed72a5.html
阿超的运算<阅读笔记一可见>:
//桃子之——阿超的四则运算 /*要求: 1.随机产生50个四则预算,包括整数和真分数 2.要求不重复 */ package bb; import java.util.Random; import java.util.Scanner; import java.util.Vector; //阿超的运算程序 public class Cc { public static void main(String args[]){ Scanner sc=new Scanner(System.in); Random ne=new Random(); Vector vet=new Vector(); for(int i=1;i<=50;i++){//50题 每题的要求在for循环里判断 boolean flag=false;//判断当真分数时进行循环 String jg=" ";int a = 0,b=0,c=0,d=0,e=0,f=0;char h='-';//初始化随机数 while(flag==false) { a=ne.nextInt(301); b=ne.nextInt(301); c=ne.nextInt(301); d=ne.nextInt(301); e=ne.nextInt(301); f=ne.nextInt(301); if(a<b&&c<d){ flag=true; Object[] obj = new Object[4];//混合数组 {整数,整数,真分数,真分数} obj[0]=e; obj[1]=f; obj[2]=a+"/"+b; obj[3]=c+"/"+d; int objcd1=ne.nextInt(obj.length); Object m=obj[objcd1];String str1=m.toString(); int objcd2=ne.nextInt(obj.length);//获取混合数组的一个元素 Object n=obj[objcd2];String str2=n.toString(); char[] fh={'+','-','*','/'};//符号数组 int ysfh=ne.nextInt(fh.length); h=fh[ysfh]; //查重 jg=str1+" "+h+" "+str2+" "+"="; for(int j=0;j<vet.size();j++){ if(vet.get(j).equals(jg)) flag=false; else vet.add(jg); } if(flag==true) System.out.println(str1+" "+h+" "+str2+" "+"="); } } } } }
以上是暑假做的,只能实现选择题目数量,随机出整数,真分数,不重复。
前天写了一个程序,添加有无乘除,有无真分数,真分数题目数,选择打印方式。但是目前不能调用函数,问提可能是出在vector上了:
package 阿超超; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintStream; import java.util.Random; import java.util.Scanner; import java.util.Vector; public class Achao { static Scanner sc=new Scanner(System.in); static Random ne=new Random(); static Vector<String> vet=new Vector<String>(); static boolean cf=false; static int i; static String jp; static String jg; static String str1,str2,str3; int cho; public static void main(String[] args) { try{ System.out.println("用户您好,请对该次出题做出要求"); //char cho='A'; System.out.println("出题数目N(正整数)"); int N=sc.nextInt(); System.out.println("输入运算范围fw?(1~fw,正整数?)"); int fw=sc.nextInt(); System.out.println("是否有乘除cc(有1,无0)"); int cc=sc.nextInt(); System.out.println("是否有真分数zf(有1,无0)"); int zf=sc.nextInt(); //只有加减无真分数 if(cc==0&&zf==0) cc0(N,fw); //有乘除有真分数 else if(cc==0&&zf==1) cc1(N,fw); //有乘除,无真分数 else if(cc==1&&zf==0) zf0(N,fw); //有乘除,有真分数 else if(cc==1&&zf==1) { System.out.println("含有真分数的题目数量zfn(0<zfn<=N)"); int zfn=sc.nextInt(); zf1(N,fw,zfn); } //System.out.println("是否有括号(有1,无0)"); //有无负数 //打印选择 }//try catch(Exception e) {System.out.println("输入格式有误");} }//main public static void cc0(int NN,int fww) throws FileNotFoundException { //boolean cf1=false; for(i=1;i<=NN;i++) { while(cf==false)//不重复 { char[] fh={'+','-'};//符号数组 int ysfh=ne.nextInt(fh.length); char h=fh[ysfh]; int a=ne.nextInt(fww+1); int b=ne.nextInt(fww+1); jg=a+" "+h+" "+b+" "+"="; int size = vet.size(); for(int j=0;j<size;j++) { if(vet.get(j).equals(jg)) cf=false; else { //vet.addElement(jg); vet.add(jg);//在末尾加入字符串?而不是对象? cf=true; } }//查重完毕 }//while }//for 出题 System.out.println("出题完成,请选择 1打印 0预览"); int cho=sc.nextInt(); if (cho==1) { for(int pt=1;pt<=vet.size();pt++) { System.out.print(vet.get(pt)+" "); if(pt%5==0)System.out.println(" "); } }//打印 else if(cho==0) { System.out.println("默认地址 E://阿超//a.txt"); FileOutputStream fl=new FileOutputStream(new File("E://阿超//a.txt")); PrintStream p= new PrintStream(fl); for(int pt=1;pt<=vet.size();pt++) { p.print(vet.get(pt)+" "); if(pt%5==0) p.println(" "); } p.close(); }//预览 } public static void cc1(int NN,int fww) throws FileNotFoundException { for(i=1;i<=NN;i++) { boolean zfs=false;//真分数成立 while(cf==false)//查重 { char[] fh={'+','-','*','/'};//符号数组 int ysfh=ne.nextInt(fh.length); char h=fh[ysfh]; while(zfs==false) { int a=ne.nextInt(fww+1); int b=ne.nextInt(fww+1); int c=ne.nextInt(fww+1); int d=ne.nextInt(fww+1); int e=ne.nextInt(fww+1); int f=ne.nextInt(fww+1); if(a<b&&c<d) { zfs=true; Object[] obj = new Object[4];//混合数组 {整数,整数,真分数,真分数} obj[0]=e; obj[1]=f; obj[2]=a+"/"+b; obj[3]=c+"/"+d; int objcd1=ne.nextInt(obj.length); Object m=obj[objcd1]; str1=m.toString(); int objcd2=ne.nextInt(obj.length);//获取混合数组的一个元素 Object n=obj[objcd2]; str2=n.toString(); str3=obj[3].toString();//含有一个真分数 } if(zfs=true) { String jg=str2+" "+h+" "+str1+" "+"="; int size=vet.size(); for(int j=0;j<size;j++) { if(vet.get(j).equals(jg)) cf=false; else { vet.addElement(jg); cf=true; } }//查重 }//if }//while }//while } //for System.out.println("出题完成,请选择 1打印 0预览"); int cho=sc.nextInt(); if (cho==1) { for(int pt=1;pt<=vet.size();pt++) { System.out.print(vet.get(pt)+" "); if(pt%5==0)System.out.println(" "); } }//打印 else if(cho==0) { System.out.println("默认地址 E://阿超//a.txt"); FileOutputStream fl=new FileOutputStream(new File("E://阿超//a.txt")); PrintStream p= new PrintStream(fl); for(int pt=1;pt<=vet.size();pt++) { p.print(vet.get(pt)+" "); if(pt%5==0) p.println(" "); } p.close(); }//预览 }//for //}//cc1 ~A.1 public static void zf0(int NN,int fww) throws IOException{ for(int i=1;i<=NN;i++) { while(cf==false) { char[] fh={'+','-','*','/'};//符号数组 int ysfh=ne.nextInt(fh.length); char h=fh[ysfh]; int a=ne.nextInt(fww+1); int b=ne.nextInt(fww+1); String jg=a+" "+h+" "+b+" "+"="; for(int j=0;j<vet.size();j++) { if(vet.get(j).equals(jg)) cf=false; else { vet.add(jg); cf=true; } }//查重完毕 }//while System.out.println("出题完成,请选择 1打印 0预览"); int cho=sc.nextInt(); if (cho==1) { for(int pt=1;pt<=vet.size();pt++) { System.out.println(vet.get(pt)+" "); if(pt%5==0)System.out.println(" "); } }//打印 else if(cho==0) { System.out.println("默认地址 E://阿超//a.txt"); FileOutputStream fl=new FileOutputStream(new File("E://阿超//a.txt")); PrintStream p= new PrintStream(fl); for(int pt=1;pt<=vet.size();pt++) { p.print(vet.get(pt)+" "); if(pt%5==0) p.println(" "); } p.close(); }//预览 }//for }//zf0 ~B public static void zf1(int NN,int fww,int zfnn) throws IOException{ for(int i=1;i<=zfnn;i++) { boolean zfs=false; while(cf==false) { char[] fh={'+','-','*','/'};//符号数组 int ysfh=ne.nextInt(fh.length); char h=fh[ysfh]; while(zfs==false) { int a=ne.nextInt(fww+1); int b=ne.nextInt(fww+1); int c=ne.nextInt(fww+1); int d=ne.nextInt(fww+1); int e=ne.nextInt(fww+1); int f=ne.nextInt(fww+1); if(a<b&&c<d) { zfs=true; Object[] obj = new Object[4];//混合数组 {整数,整数,真分数,真分数} obj[0]=e; obj[1]=f; obj[2]=a+"/"+b; obj[3]=c+"/"+d; int objcd1=ne.nextInt(obj.length); Object m=obj[objcd1]; str1=m.toString(); int objcd2=ne.nextInt(obj.length);//获取混合数组的一个元素 Object n=obj[objcd2]; str2=n.toString(); str3=obj[3].toString();//含有一个真分数 } if(zfs=true) { String jg=str3+" "+h+" "+str1+" "+"="; for(int j=0;j<vet.size();j++) { if(vet.get(j).equals(jg)) cf=false; else { vet.add(jg); cf=true; } }//查重 } } }//while }//for //整数运算 for(int i=zfnn+1;i<=NN;i++) { boolean zfs=false; while(cf==false) { char[] fh={'+','-','*','/'};//符号数组 int ysfh=ne.nextInt(fh.length); char h=fh[ysfh]; while(zfs==false) { int a=ne.nextInt(fww+1); int b=ne.nextInt(fww+1); int c=ne.nextInt(fww+1); int d=ne.nextInt(fww+1); int e=ne.nextInt(fww+1); int f=ne.nextInt(fww+1); if(a<b&&c<d) { zfs=true; Object[] obj = new Object[4];//混合数组 {整数,整数,真分数,真分数} obj[0]=e; obj[1]=f; obj[2]=a+"/"+b; obj[3]=c+"/"+d; int objcd1=ne.nextInt(obj.length); Object m=obj[objcd1]; str1=m.toString(); int objcd2=ne.nextInt(obj.length);//获取混合数组的一个元素 Object n=obj[objcd2]; str2=n.toString(); str3=obj[3].toString();//含有一个真分数 } if(zfs=true) { String jg=str3+" "+h+" "+str1+" "+"="; for(int j=0;j<vet.size();j++) { if(vet.get(j).equals(jg)) cf=false; else { vet.add(jg); cf=true; } }//查重 } } }//while System.out.println("出题完成,请选择 1打印 0预览"); int cho=sc.nextInt(); if (cho==1) { for(int pt=1;pt<=vet.size();pt++) { System.out.print(vet.get(pt)+" "); if(pt%5==0)System.out.println(" "); } }//打印 else if(cho==0) { System.out.println("默认地址 E://阿超//a.txt"); FileOutputStream fl=new FileOutputStream(new File("E://阿超//a.txt")); PrintStream p= new PrintStream(fl); for(int pt=1;pt<=vet.size();pt++) { p.print(vet.get(pt)+" "); if(pt%5==0) p.println(" "); } p.close(); }//预览 }//for }//zf1 ~C }//class
最近,过得有点难过。加油!