Исходный вопрос
Я создаю программу, чтобы попросить пользователя добавить учеников в класс. У студента должен быть идентификатор и может быть оценка (двойная) и буквенная оценка (строка). В разделе ниже пользователю предлагается ввести оценку двойного типа данных. Я хочу разрешить пользователю пропустить, введя «s» строкового типа данных. Как это сделать, учитывая, что переменная score имеет тип данных double?
System.out.println("Kindly input Score: (Enter s to Skip)");
score = input.nextDouble();
Вывод:
Пожалуйста, введите балл: (Введите s, чтобы пропустить)
Отредактированный вопрос
Теперь, благодаря вашим отзывам, ребята, мне удалось создать строку переменной String, которая считывает пользовательский ввод, затем проверяет, является ли это «S»/«s», и в противном случае анализирует значение как двойное. Теперь, основываясь на вопросе, как я могу пропустить подсказку и перейти к следующей подсказке, если пользователь решит пропустить? Я пытался использовать перерыв; но он выходит из всего цикла. Есть ли способ пропустить вопрос для оценки и перейти к вопросу для буквенной оценки?
// Prompting the user for Score (Numerical Grade)
System.out.println("Kindly input Score: (Enter s to Skip)");
// reading the input into the line variable of string datatype
String line = input.nextLine();
// checking if line =="s" or =="S" to skip, otherwise
// the value is parsed into a double
if("s".equals(line) || "S".equals(line))
{
break; // this exists the loop. How can I just skip this requirement
//and go to the next prompt?
}else try
{
score = Double.parseDouble(line);
System.out.println(score);
} catch( NumberFormatException nfe)
{
}
// Prompting the user for Numerical Grade
System.out.println("Kindly input Grade: (Enter s to Skip)");
String line2 = input.nextLine();
if("s".equals(line2) || "S".equals(line2))
{
break; // this exists the loop. How can I just skip this
// requirement and go to the next prompt?
}else try
{
score = Double.parseDouble(line2);
System.out.println(score);
} catch( NumberFormatException nfe)
{
}
nextLine()
вместоnextDouble()
; проверьте, ввели ли ониs
, и в противном случае проанализируйте его как двойное. - person Andy Turner   schedule 25.05.2016nextLine()
временной строке. - person Andy Turner   schedule 25.05.2016