У меня есть простой Java-код, и мне нужно зацикливать программу на начало с определенным вводом. Я не могу опубликовать весь код, потому что он предназначен для назначения, но в основном у меня есть раздел «Ввод пользователя, вычисления и печать результатов» в конце, дающий все результаты с предыдущих входов, и теперь мне нужно его перезапустить. Я попытался с помощью цикла Do-While, как это:Как перезапустить/закодировать программу в Java?
do
{
System.out.println("Enter Another Student? Y or N");
sLoop = console.nextLine();
}while (sLoop.equals("Y") || sLoop.equals("y"));
Но что просто выводит текст и завершает программу, не давая пользователю возможность ввести значение. Тем не менее, я знаю, что это неправильно, потому что не дает никаких указаний на то, что он должен вернуться к вершине. Любая помощь приветствуется. Я отправлю начало, чтобы вы знали, как это выглядит, но я не могу опубликовать все это.
import java.util.*;
public class ---- {
public static void main (String[] args) {
Scanner console = new Scanner (System.in);
После этого у меня есть пользовательский ввод, который все работает отлично, но я запутался о том, как цикл программы от начала до конца. Я думал, что мне, возможно, придется поместить весь мой код (под консолью сканера) в do, а затем в конце поставить, но я не думаю, что условие для «while» будет работать. Я надеюсь в этом есть смысл. Благодаря!
Кроме того, код работает один. Но когда я начинаю вводить свои данные, он перестает работать и не позволяет вводить пользователя.
делает 'в то время как (sLoop.equals ("Y") || sLoop.equals ("Y"));' должны быть 'в то время как (sRestart.equals ("Y") || sRestart.equals ("y")); '? –
[Это работает для меня.] (Https://ideone.com/EE9m8L). Что-то я сделал в своем тесте, которого вы не делали? – 4castle
Извините, sLoop и sRestart - это то же самое, я хотел изменить их все. Они - одна и та же переменная. – KenwayCreed