尝试打印输入时出现IllegalFormatConversionException

54D*_*54D -2 java

我是Java的新手.我正在尝试扫描用户的输入,然后打印输入.但是,当我尝试运行代码时出现以下错误.

Erorr:

Thread [main] (Suspended (exception IllegalFormatConversionException))  
Run Code Online (Sandbox Code Playgroud)

码:

package dumb;

import java.util.Scanner;

public class Try001 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Input value for variable i:");
        int i = sc.nextInt();
        System.out.printf("Value for i scanned: %d",sc.next());
    }
}
Run Code Online (Sandbox Code Playgroud)

输入:5

为什么我会收到此错误,如何解决?

小智 5

你的问题是你得到一个字符串,sc.next()然后%d你说你想要一个整数的程序.所以你必须改变它,例如

System.out.printf("Value for i scanned: %d",sc.nextInt());
Run Code Online (Sandbox Code Playgroud)

但我认为你只想打印第一个用户输入而不是第二个用户输入.所以你只需要打印变量i的值:

System.out.printf("Value for i scanned: %d",i);
Run Code Online (Sandbox Code Playgroud)