Java — исключение NoSuchElementException

#java

#java

Вопрос:

Привет, я новичок в Java и получаю код ошибки —

 Exception in thread "main" java.util.NoSuchElementException
  

Код —

 import java.util.Scanner; // Needed to make Scanner available

class loan
{
    public static void main (String [] a)
    {
        askQuestions();
        System.exit(0);
    }
    
    public static void askQuestions ()
    {
        float loantaken;
        float loanpaid;
        double d = 7;
    
        loantaken = Loan_Taken();
        loanpaid = Loan_Paid();
    
        float subtraction = (loantaken-loanpaid);
        double d2 = ((((d/100)*subtraction) subtraction)*10);
        int value = (int)d2;
        float finalvalue = (float)value/10;
     
        System.out.println("The new amount owed is (in pounds) "   finalvalue);
        return;
    }

    public static Float Loan_Taken()
    {
        float taken;
        Scanner scanner = new Scanner(System.in);
    
        System.out.println("Amount of loan taken at the start of the year :");
        taken = scanner.nextFloat();
    
        return taken;
    }

    public static Float Loan_Paid()
    {
        float paid;
        Scanner scanner = new Scanner(System.in);
    
        System.out.println("Amount of loan paid off this year :");
        paid = scanner.nextFloat();
    
        return paid;
    }



}
  

Я не уверен, как это исправить. Я начал с использования jupyter hub, который не требует, чтобы вы форматировали его таким образом, поэтому я не понимаю, как правильно его форматировать.

Комментарии:

1. какая строка выдает это исключение? Кроме того, Java и JavaScript — это не одно и то же. Это первое, что вы должны знать

2. я получаю «Исключение в потоке»main» java.util.NoSuchElementException в java.base / java.util.util. Scanner.throwFor(Scanner.java:937) в java.base/java.util. Scanner.next(Scanner.java:1594) в java.base/java.util. Scanner.nextFloat(Scanner.java:2496) в кредит. Loan_Taken(loan.java:35) в loan.askQuestions(loan.java:17) в loan.main(loan.java:7) »

3. это должно быть в вашем вопросе. Вы знаете, что это значит, как это читать?

4. Вы продолжаете создавать новые объекты сканера; вам это не нужно. Вы когда-нибудь закрывали какой-либо из них? (Вы не должны, пока не завершите программу. Если вы закроете сканер, вы закроете System.in , и его нелегко снова открыть.)

5. Соглашения об именовании Java не используют символы подчеркивания, кроме как в константах. Классы используют camelCase и начинаются с заглавной буквы; методы и переменные используют camelCase, начиная со строчной буквы (loanTaken() ).