翻转输出数字
今天偶然发现一个之前的题目:
键盘录入一个五位数字,将数字翻转输出
形如12345 输出54321
众所周知,if语句可以进行判断,形如:
int number=10024;
if(number==10024){
System.out.println(42001);
}
有因为题目限制了是一个五位数字,10000–99999
最终,我们得到解决方案,仅需大量if模块即可
现在问题的难点在于if语句过多不便于书写,所以我们可以利用循环语句将if语句循环书写即可
最终代码:
package a6;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Gg {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new FileWriter("data.txt"));
bw.write("package a6;\n");
bw.write("import java.util.Scanner;\n");
bw.write("public class prin {\n");
bw.write(" public static void main(String[] args) {\n");
bw.write(" Scanner sc=new Scanner(System.in);\n");
bw.write(" int number=sc.nextInt();\n");
PrintInt(bw);
bw.write(" }\n");
bw.write("}\n");
bw.close();
}
private static void PrintInt(BufferedWriter bw) throws IOException{
for (int i = 10000; i <= 99999; i++) {
StringBuilder sb = new StringBuilder();
int num = i;
while (num > 0) {
int k = num % 10;
sb.append(k);
num = num / 10;
}
bw.write(" if(number=="+i+"){\n");
bw.write(" System.out.println(\""+sb.toString()+"\");\n");
bw.write(" }\n");
bw.newLine();
bw.flush();
}
}
}
通过以上方法,我们即可将代码书写完备,最终为36w行
代码可读性高
时间复杂度基地
非常nice