Так что я уверен, что использую следующий и hasNext неправильно ... Я пытаюсь ввести строку символов ACGT, а затем подсчитать отдельные результирующие буквы. Заранее спасибо.Использование next() в параметре if/else statement
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;
}
}
}
}
возможно дубликат [? Как сравнить строки в Java] (http://stackoverflow.com/questions/513832/how- do-i-compare-strings-in-java) –
Да, вы хотите использовать метод .equals – ZekeDroid
Зарезервируйте результат 'j.next()' в некоторой переменной, а затем проверьте его значение. – raina77ow