Первые вещи первых, geeeeeez ребята, когда ОП говорит что-то вроде
«Я не хочу, исключение, я хочу, я = 10, если ничего не введено, так что я делаю»
Это должен подсказывать вам, что он, вероятно, слишком мало знает об исключениях (возможно, даже java) и может потребоваться простой ответ. И если это невозможно, объясните ему трудные.
Хорошо, вот простой и простой способ сделать это
String check;
int input = 10;
check = scanner.nextLine/*Int*/();
if(check.equals(""))
{
//do nothing since input already equals 10
}
else
{
input = Integer.parseInt(check);
}
Позвольте мне объяснить, что делает этот код. Вы изначально использовали nextInt(), чтобы получить свой номер для ввода, правильно? Проблема в том, что nextInt() отвечает только в том случае, если пользователь действительно что-то вводит, а не при нажатии на ввод. Чтобы проверить ввод, мы использовали метод, который фактически реагирует, когда пользователь нажимает вводить и использует это, чтобы гарантировать, что наш код сделает то, что мы хотели. Одна вещь, которую я рекомендую использовать, - это API, у нее есть Java.
Вот ссылка на API HERE
А вот ссылка на фактический метод я использовал HERE. Вы можете найти описания и инструкции по многим методам, с которыми вы столкнетесь в этом API.
Теперь, вернемся к моему ответу, это простой способ сделать это. Проблема в том, что этот код не обязательно безопасен. Это вызовет исключения, если что-то пойдет не так, или если кто-то пытается взломать вашу систему. Например, если вы должны были ввести букву вместо нажатия ввода или ввода номера, это вызовет исключение. То, что вы видели в других ответах, - это то, что мы называем обработкой исключений, поэтому мы исключаем исключения. Если вам нужен ответ, который поймает большинство этих исключений, вам нужно убедиться, что ваш код их ловит, или избегает их всех вместе (я очень упрощаю ситуацию). Вышеприведенный ответ - это рабочий код, но это не безопасный код, вы бы никогда не использовали что-то подобное себе в реальной жизни.
Вот что можно считать безопасным кодом. И никаких исключений, чтобы это было просто! ;)
import java.util.Scanner;
public class SOQ15
{
public Scanner scanner;
public SOQ15()
{
scanner = new Scanner(System.in);
int input = 10;
boolean isAnInt = true;
String check;
check = scanner.nextLine/*Int*/();
if(check.equals(""))
{
//do nothing since input already equals 10
}
for(int i = 0; i < check.length(); i++)
{
if(check.charAt(i) >= '0' && check.charAt(i) <= '9' && check.length() < 9)
{
//This is if a number was entered and the user didn't just press enter
}
else
{
isAnInt = false;
}
}
if(isAnInt)
{
input = Integer.parseInt(check);
System.out.println("Here's the number - " + input);
}
}
public static void main(String[] args)
{
SOQ15 soq = new SOQ15();
}
}
У меня нет времени, чтобы пойти во все детали прямо сейчас, но спросить, и я с удовольствием буду отвечать, когда я получаю время! :)
Хорошо, используете сканер для ввода ввода или что? Покажите нам код, в который пользователь вводит свои данные. – DreadHeadedDeveloper
есть сканер, например number = input.Сканер(); –
Хорошо, напишите свой код, который делает это, я могу определенно помочь вам с этим – DreadHeadedDeveloper