所以我很确定我错误地使用了 next 和 hasNext... 我正在尝试输入一串 ACGT 字符,然后计算各个结果字母。提前致谢。
import java.util.Scanner;
public class A1Novice {
public static void main(String[] args){
String input = "";
Scanner s = new Scanner(System.in);
Scanner j = new Scanner(input);
System.out.println("Enter nucleobases (enter end when done)");
while(true){
input = s.next() + input;
if(s.next().contains("end")){
break;
}
}
process(j, input);
}
public static void process(Scanner j, String input){
int a = 0, c = 0, g = 0, t = 0;
while(j.hasNext()){
if (j.next()=="A"){
a++;
}
else if(j.next()=="C"){
c++;
}
else if(j.next()=="G"){
g++;
}
else if(j.next()=="T"){
t++;
}
else{
System.out.println("A count: " + a);
System.out.println("C count: " + c);
System.out.println("G count: " + g);
System.out.println("T count: " + t);
break;
}
}
}
}