Мой друг показывает мне, как работает базовая java, однако он не показал мне, как работает код полностью, и я хотел знать. Как сообщить любому компилятору, что больше нет вход? потому что это просто позволяет мне продолжать печатать навсегда. Я уверен, что код правильный, только когда я скомпилирую код, он просто покидает пространство, и я могу продолжать нажимать enter, чтобы ввести больше символов, но я не знаю, как его остановить.Как сообщить компилятору, что больше нет ввода
import java.io.*;
class FileStats {
/**
* Implements the entire process (reading and reporting).
*
* @param args is not used.
*/
public static void main(String args[]) throws IOException {
// Variables to hold the various character class counts.
int lowerCase = 0;
int upperCase = 0;
int whiteSpace = 0;
int otherChars = 0;
int totalChars = 0;
// Read the (standard) input
while (true) {
// Quit if there's no more input.
int input = System.in.read();
if (input < 0) break;
// Cast the input to a character.
char c = (char) input;
// Tally up the statistics.
totalChars++;
if ('a' <= c && c <= 'z') {
lowerCase++;
} else if ('A' <= c && c <= 'Z') {
upperCase++;
} else if (' ' == c || '\t' == c || '\n' == c) {
whiteSpace++;
} else {
otherChars++;
}
}
// Report the statistics
System.out.println(totalChars + " Total Characters");
System.out.println(lowerCase + " Lower-Case Characters");
System.out.println(upperCase + " Upper-Case Characters");
System.out.println(whiteSpace + " White-Space Characters");
System.out.println(otherChars + " Other Characters");
}
}
Существует два отдельных этапа: 1) Редактирование кода с помощью редактора 2) Компиляция кода с помощью компилятора. Очень неясно, о чем вы спрашиваете. –
извините, я знаю, что вопрос очень запутан, однако его просто так, что когда я компилирую код в компиляторе, например cygwin, ничего не происходит, например, я наберу «Javac FileStats.java», скомпилирую его, затем используйте java FileStats, чтобы вызвать класс, затем i введите несколько номеров, и теперь я пытаюсь сделать код законченным и распечатать статистику, но я не знаю, как это сделать. –
хорошо, учитывая, что у вас есть оператор while (true) ', который он никогда не остановит ... вам нужно избавиться от этого и подумать о лучшем состоянии цикла, возможно, как ... 'while (readInNumber! = -1) продолжать ...' – 3kings