Я новичок, и я попробовал несколько разных способов из того, что я узнал из вопросов других людей, но я думаю, что моя проблема со следующей проблемой заключается в том, что я не могу понять логи c моего кода. Если кто-то может предложить решение с объяснением логики c кодов, я был бы очень признателен. Я должен создать метод в формате method (), который будет предлагать пользователю ввести скрипт, который включает в себя String, числа и удваивается. Метод должен подсчитать количество строк, чисел и значений типа double и распечатать список строк, чисел и значений типа double. У меня есть часть, что метод печатает список строк, чисел и удваивается, но, кажется, я не могу получить счетчик для их подсчета. Я получил это до сих пор:
import java.util.Scanner;
public class Games {
private Scanner input;
public Games() {
input = new Scanner(System.in);
}
public void textParser() {
System.out.println("Enter a Script");
int intCount = 0;
int dblCount = 0;
int strCount = 0;
while(input.hasNext()) {
if(input.hasNextInt()) {
int num = input.nextInt();
System.out.println(num);
intCount++;
}else if(input.hasNextDouble()) {
double value = input.nextDouble();
System.out.println(value);
dblCount++;
}else {
String oneWord = input.next();
System.out.println(oneWord);
strCount++;
}
}
System.out.println("Number of integers: " + intCount);
System.out.println("Number of doubles: " + dblCount);
System.out.println("Number of strings: " + strCount);
}
public static void main(String[] args) {
Games demo = new Games();
demo.textParser();
}
}
Пример ожидаемых входов и выходов:
Enter a Script
32 quick brown foxes jump over 65 lazy dogs and few doubles are 43.3
and 76.9
32
65
Number of integers: 2
43.3
76.9
Number of doubles: 2
quick
brown
foxes
jump
over
lazy
dogs
and
few
doubles
are
and
Number of strings: 12
Фактический вывод:
32
65
43.3
76.9
quick
brown
foxes
jump
over
lazy
dogs
and
few
doubles
are
and