Так что у меня проблемы со второй частью этого проекта. У меня есть приведенный ниже код, который подсчитывает каждую запись, но я не знаю, как получить максимумы и минимумы... Заранее спасибо!
A1Адепт
Эта программа должна обрабатывать входные данные так же, как это делает A1Novice, но в дополнение к подсчетам она также должна отслеживать цепочки ДНК с наименьшим и наибольшим числом каждого из азотистых оснований и печатать эти нити на выходе. Итак, учитывая следующий ввод:
A
CC
AATA
GGG
TTT
end
Программа должна выдать следующий вывод:
Счетчик A: 4
Счетчик C: 2
Счетчик G: 3
Счетчик T: 4
Низкий счет A: A
Высокий счет A: AATA
Низкий счет C: CC< br> Высокое количество C: CC
Низкое количество G: GGG
Высокое количество G: GGG
Низкое количество T: AATA
Высокое количество T: TTT
package a1;
import java.util.Scanner;
public class A1Novice {
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("Enter nucleobases: (enter end when done)");
process(s);
}
public static void process(Scanner s){
int a = 0, c = 0, g = 0, t = 0;
while(s.hasNext()){
String id = s.next();
if(id.equalsIgnoreCase("end")){
break;
}
for(int i = 0; i < id.length(); i++){
char singleChar = id.charAt(i);
if (singleChar=='A' || singleChar=='a'){
a++;
}
else if(singleChar=='C' || singleChar=='c'){
c++;
}
else if(singleChar=='G' || singleChar=='g'){
g++;
}
else if(singleChar=='T' || singleChar=='t'){
t++;
}
}
}
System.out.println("A count: " + a);
System.out.println("C count: " + c);
System.out.println("G count: " + g);
System.out.println("T count: " + t);
}
}
A
текущей строки и саму текущую строку в двух переменных; если в следующей строке большеA
, чем вы поместили в переменную, то обновите. То же самое и с другими буквами. - person Stefano Sanfilippo   schedule 22.01.2014