import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.util.Scanner; public class input { public static void input() { System.out.println("データの入力をしてください。"); System.out.println("id"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); System.out.println("name"); Scanner scanner1 = new Scanner(System.in); int num1 = scanner.nextInt(); String msg = ""; try { // ドライバロード Class.forName("com.mysql.jdbc.Driver"); // MySQL に接続 Connection con = DriverManager.getConnection("jdbc:mysql://192.168.10.8:3306/testdb", "test11", ""); // ステートメント生成 Statement stmt = con.createStatement(); //SQL を実行 String sqlStr = "insert into test_table(user_id,user_name) values(num,num1);"; int num3 = stmt.executeUpdate(sqlStr); // 接続を閉じる stmt.close(); con.close(); }catch (ClassNotFoundException e){ msg = "ドライバのロードに失敗しました"; System.out.println(msg); }catch (Exception e){ msg = "ドライバのロードに失敗しました"; System.out.println(msg); } output a =new output(); a.output(); } }
を実行すると
データの入力をしてください。 id 5 name test ここでエラーメッセージ Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:864) at java.util.Scanner.next(Scanner.java:1485) at java.util.Scanner.nextInt(Scanner.java:2117) at java.util.Scanner.nextInt(Scanner.java:2076) at input.input(input.java:19) at main.main(main.java:16)
が出ます。
どのようなコード改善が必要でしょうか。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。