Получение ввода с помощью s c .nextInt () после Integer.parseInt (s c .nextLine ())? - PullRequest
0 голосов
/ 11 июля 2020

У меня есть программа Java ниже. Когда я получаю целочисленное значение с s c .nextInt () после получения целочисленного значения с Integer.parseInt(sc.nextLine()). Я получаю исключение числового формата. Пожалуйста, помогите мне.

public class User {
    public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    int n=Integer.parseInt(sc.nextLine());
    int rank=sc.nextInt();
    String arr[]=new String[n];
    for(int i=0;i<n;i++){
    arr[i]=sc.nextLine();}

Может кто-нибудь объяснить, что не так с моим кодом.

1 Ответ

0 голосов
/ 11 июля 2020
int n=Integer.parseInt(sc.nextLine());

При вводе 6 2 эта строка пытается преобразовать 6 2 как целое число, поскольку вы используете .nextLine(). Вот почему вы получаете Numberformat Exception. Вы также можете использовать n=sc.nextInt() для ввода n. И позаботьтесь о новой строке, прежде чем вводить строку в l oop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...