Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему этот код на Java выдает ошибку??

CliffGamerHD . Ученик (192), на голосовании 1 год назад
Я еще новичок, только 2 день изучаю этот язык, захотел сделать примитивный калькулятор с float, но как только ввожу любую цифру, к примеру 3.2, выдает ошибку. ChatGPT говорит что возможно это связано с IDE которым я пользуюсь, это так или я просто что-то не то делаю?
Скрин плохого качества чёто, вот сам код:
package com.breadman;

import javax.swing.text.Style ;
import java.awt.*;
import java.util.Scanner;


class Main {

public static void main(String[] args) {
Scanner scan = new Scanner( System.in );

System.out.print("Enter number one: ");
float num1 = scan.nextFloat();

System.out.print("Enter number two: ");
float num2 = scan.nextFloat();

System.out.print("Result: " + (num1 + num2));

}
}
А вот ошибка:
"C:\Program Files\Java\jdk-20\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.1.2\lib\idea_rt.jar=54144:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.1.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath E:\bruh1\bruh\target\classes com.breadman.Main
Enter number one: 3.2
Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:947)
at java.base/java.util.Scanner.next(Scanner.java:1602)
at java.base/java.util.Scanner.nextFloat(Scanner.java:2505)
at com.breadman.Main.main(Main.java:14)

Process finished with exit code 1

Голосование за лучший ответ
egjar Мудрец (19190) 1 год назад
Ты вводишь строку "3.2", где разделитель разрядов ".". А в настройках системы указано, что разделитель разрядов ",". Поэтому сканер не может преобразовать строку в число.
Иван СигаевИскусственный Интеллект (154173) 1 год назад
Поправь в ответе - разделитель разрядов "3" на "."
CliffGamerHD .Ученик (192) 1 год назад
реально так и было, помогло
scan.useLocale( Locale.US );
Александр Искусственный Интеллект (301645) 1 год назад
второй день и уже калькулятор? в то время как и половины написанного кода не понимаешь...

на кой там вот это?
import javax.swing.text.Style ;
или вот это:
import java.awt.*;
CliffGamerHD .Ученик (192) 1 год назад
Челик, я вполне себе понимаю что пишу, а то что ты спросил, это когда я только начал учить чето наклацал, а убирать лень
Александр Искусственный Интеллект (301645) CliffGamerHD ., не похоже что ты понимаешь... код рабочий... а вводишь фигню какую-то...
Похожие вопросы