Так что у меня возникли проблемы со второй частью этого проекта. У меня есть код ниже, который дает подсчеты для каждой записи, но я не знаю, как получить максимумы и минимумы ... Спасибо заранее!Как получить низкий и высокий счет символов из строки?
A1Adept
Эта программа должна обрабатывать входные данные как A1Novice делает, но в дополнение к производству отсчеты, он должен также отслеживать нити ДНК с наименьшим и наибольшим количеством каждого из нуклеотидных и печати тех, нити к выходу. Таким образом, учитывая следующий входной сигнал:
A
CC
AATA
GGG
TTT
end
Программа должна обеспечить следующий вывод:
Подсчет: 4
Количество С: 2
G Количество: 3
Т Количество: 4
Low отсчет: A
High отсчету: AATA
низкое количество C: CC
Привет GH C Количество: CC
низкое количество G: GGG
High G Количество: GGG
низкое количество T: AATA
Количество High T: ТТТ
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);
}
}
@DavidWallace Да, я понял это сейчас ... –
Так как это школьный проект, я думаю, вам стоит больше стараться и выполнить цель самостоятельно. Но вот подсказка: держите число 'A' текущей строки и текущей строки в двух переменных; если следующая строка имеет больше 'A', чем то, что вы указали в переменной, а затем обновите. То же самое для других букв. –