Java 如何从循环中打印不必要的代码?
我从一个文本文件中获取数据,并获取每个数字的第一位数字。当我尝试计数它打印的文本文件时: 1:1 二比零 3:0 4:0 五点零分 六点零分 七点零分 八点零分 九点零分 那么 一:二 二比零 3:0 4:0 五点零分 六点零分 七点零分 八点零分 九点零分 在得到最终结果之前: 一:69 2:40 三:36 4:23 五点二十四分 六点十六分 七点十四分 八点十四分 九点十一分 我正在努力取得最后的结果,这样我就可以继续前进/Java 如何从循环中打印不必要的代码?,java,loops,Java,Loops,我从一个文本文件中获取数据,并获取每个数字的第一位数字。当我尝试计数它打印的文本文件时: 1:1 二比零 3:0 4:0 五点零分 六点零分 七点零分 八点零分 九点零分 那么 一:二 二比零 3:0 4:0 五点零分 六点零分 七点零分 八点零分 九点零分 在得到最终结果之前: 一:69 2:40 三:36 4:23 五点二十四分 六点十六分 七点十四分 八点十四分 九点十一分 我正在努力取得最后的结果,这样我就可以继续前进/ public static void BenfordPer
public static void BenfordPercents(String strLine){
//System.out.println(strLine);
Matcher matcher = Pattern.compile("\\d+").matcher(strLine);
matcher.find();
Integer o = Integer.valueOf(matcher.group());
//System.out.println(o);
// while (Math.abs(o) >= 10){
// o = o / 10;
// }
int firstDigit = o;
while (firstDigit > 9){
firstDigit = firstDigit / 10;
}
//System.out.println(firstDigit);
//return Math.abs(o);
//System.out.println(o);
if (firstDigit == 1){
one++;
}else if(firstDigit == 2){
two++;
}else if(firstDigit == 3){
three++;
}else if(firstDigit == 4){
four++;
}else if(firstDigit == 5){
five++;
}else if(firstDigit == 6){
six++;
}else if(firstDigit == 7){
seven++;
}else if(firstDigit == 8){
eight++;
}else if(firstDigit == 9){
nine++;
}
System.out.println("one: " + one);
System.out.println("two: " + two);
System.out.println("three: " + three);
System.out.println("four: " + four);
System.out.println("five: " + five);
System.out.println("six: " + six);
System.out.println("seven: " + seven);
System.out.println("eight: " + eight);
System.out.println("nine: " + nine);
}
}
从
BenfordPercents(String)
方法中取出System.out.println
。使新方法名为printResult()
:
在完成所有的
BenfordPercents()
调用后调用此方法。这将让你只看到一次打印。@DarkV1他说我正试图得到最终结果,这样我就可以继续了/代码>。他可以选择何时打印整个内容,而不是每次调用处理函数时都调用打印。如果调用正确,他只会看到打印一次。你可能应该加上。。。在BenfordPercents调用之后调用print方法。当我读到你的解决方案时,你似乎只是建议在Benford Percent方法中调用该方法。。你说的“打印不必要的代码”是什么意思?“印刷品”?你能说说你对最终结果的期望吗?
public static void printResult(){
System.out.println("one: " + one);
System.out.println("two: " + two);
System.out.println("three: " + three);
System.out.println("four: " + four);
System.out.println("five: " + five);
System.out.println("six: " + six);
System.out.println("seven: " + seven);
System.out.println("eight: " + eight);
System.out.println("nine: " + nine);
}