如何在System.out
打印某些内容时计算出现次数?在我的示例用户输入TR *中,让我们说程序创建TRR; TRC; TRD,但是我无法计算输出数量(本例中为3)。如果找到0个解决方案打印出“未找到解决方案”,我想这样做。
有关如何使其发挥作用的任何提示。
if (length == 3) {
System.out.println("Possible solutions:");
n = 0;
for (int i = 0; i < list3.size(); i++) {
String s = (String) list3.get(i);
if (s.matches(user_input))
System.out.println(s);
}
System.out.println(n);
if (n == 1) {
System.out.println("No solutions found");
}
}
答案 0 :(得分:1)
试试这个:
package stackoverflow.counting;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<String> list3 = new ArrayList<>();
list3.add("TRA");
list3.add("XXX");
int length = 3;
String user_input = "TR.*";
if (length == 3) {
System.out.println("Possible solutions:");
int n = 0;
for (int i = 0; i < list3.size(); i++) {
String s = list3.get(i);
if (s.matches(user_input)) {
System.out.println(s);
n++;
}
}
System.out.println(n);
if (n == 0) {
System.out.println("No solutions found");
}
}
}
}
输出是:
可能的解决方案:
TRA
1个
请注意,TR *可能不是您需要的正则表达式。请改用TR。*。
答案 1 :(得分:0)
尝试这种方法:
int countOfSystemPrintedOutput = 0;
if (length == 3) {
System.out.println("Possible solutions:");
for (String s : list3) {
if(s.matches(user_input)){
System.out.println(s);
countOfSystemPrintedOutput++;
}
}
if (countOfSystemPrintedOutput == 0) {
System.out.println("No solutions found");
}
else{
System.out.println("System.out.println called " + countOfSystemPrintedOutput + "times");
}
}