在代码的帮助下字符串打印有什么问题

时间:2019-07-19 05:38:39

标签: java

import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int i = scan.nextInt();
        double d= scan.nextDouble();
        String s = scan.nextLine(); 
        System.out.println("String: " + s);
        System.out.println("Double: " + d);
        System.out.println("Int: " + i);
    }
}

为什么我不能在上面的代码中打印字符串?

String: 
Double: 3.1415
Int: 42

1 个答案:

答案 0 :(得分:2)

在控制台中,当您输入42并按Enter键时,它将42作为int值并将“ enter”(或换行符即/ n)作为字符串。但是由于nextInt()之后没有nextLine(),因此它避免了换行符。当您输入3.1415并按Enter键时,它将3.1415作为双精度值,并将enter /换行符作为字符串。 因此,解决方案可以在nextLine()之后添加另外的nextDouble()