我试图在每次显示特定字母时将程序设为1。所以如果输入AAAA,我希望它显示A:4。我已经在这方面工作了几个小时,但我无法让它工作。如果没有阵列,还有什么方法可以做到这一点吗? 这是我目前的代码。
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
String A;
String B;
A = kb.nextLine();
System.out.println("Person A: Please enter your amount of wins");
B = kb.nextLine();
System.out.println("Player B: Please enter your amount of wins");
kb.nextLine();
if()
} //main
答案 0 :(得分:1)
希望这对你有用
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
System.out.println("Enter Player A value");
String A = kb.nextLine();
calsi(A);
System.out.println("Enter Player B value");
String B = kb.nextLine();
calsi(B);
}
public static void calsi(String cmdVal){
if (cmdVal.length()>0) {
String firstletter=cmdVal.substring(0,1);
System.err.println(firstletter+":"+cmdVal.length());
}else{
System.err.println("No input has given");
}
}
答案 1 :(得分:0)
如果你使用番石榴,它很简单;使用CharMatcher
。
例如,对于匹配字符A
,您需要创建:
private static final CharMatcher UPPERCASE_A = CharMatcher.is('A');
然后你使用:
UPPERCASE_A.countIn(yourInput)
计算A
中yourInput
的出现次数。
否则,对字符串的简单循环将为您完成。如果是Java 8,则可以使用.chars()
。
答案 2 :(得分:0)
您可以尝试使用此代码。但是在这里,数组用于存储一行的所有字符。
public static void main(String [] args){
Scanner kb = new Scanner(System.in);
String A = kb.nextLine();
char[] chars = A.toCharArray();
int count=0;
for(int i=0;i<chars.length;i++){
if(chars[i]=='A'){
count++;
}
}
System.out.println(count);
return;
}