本次课堂测试为写一个自动生成计算题的“软件”,其中有一些要求。
今天我重新写了一次(完全没用之前的代码),发现所有功能实现都不到二十分钟,然而在课上连第一次都不在前十五,我反思了一下:代码写的太乱了,而且我发现每次在课上写代码的时候都特别激动、紧张(包括开学测试),导致不能安静下来理清思路,加上代码写的不规矩,随着功能的增多,随便复制,缩进也不明显,导致第二次我本可以在前十提交,结果因为大括号的问题,又改了改,最后结束验收了。
思路如下:
写成两个方法,一个换行的,一个不换行的,这样直接调用即可。
以前不喜欢写成方法,自从开学测试之后,越来越发现方法真好!
package test; import java.util.Scanner; public class list { static Scanner input=new Scanner(System.in); static int j=1; static int i=1; public static void change() { int x = (int)(Math.random()*100); int y = (int)(Math.random()*100); if ((x*y)<100) { int operator = (int)(Math.random()*4+1); switch(operator) { case 1: System.out.println(i+"."+x+" + "+y); i++; break; case 2: System.out.println(i+"."+x+" - "+y); i++; break; case 3: System.out.println(i+"."+x+" * "+y); i++; break; case 4: System.out.println(i+"."+x+" / "+y); i++; break; } x = (int)(Math.random()*100); y = (int)(Math.random()*100); } } public static void nochange() { int x = (int)(Math.random()*100); int y = (int)(Math.random()*100); if ((x*y)<100) { int operator = (int)(Math.random()*4+1); switch(operator) { case 1: System.out.print(i+"."+x+" + "+y+" "); i++; break; case 2: System.out.print(i+"."+x+" - "+y+" "); i++; break; case 3: System.out.print(i+"."+x+" * "+y+" "); i++; break; case 4: System.out.print(i+"."+x+" / "+y+" "); i++; break; } x = (int)(Math.random()*100); y = (int)(Math.random()*100); } } public static void main(String[] args) { int n,h; n = input.nextInt(); h = input.nextInt(); for (;i<=n;) { if ((i%h)!=0) { nochange(); } else { change(); } } // TODO Auto-generated method stub } }