1.当想输入一个数字再输入一个字符串要多一个nextLine();
int a =scan.nextInt();
String b = scan.nextLine();
在Java编程语言中,使用Scanner
类进行输入时,需要注意nextInt()
和nextLine()
方法的使用。nextInt()
用于读取下一个整数,而nextLine()
用于读取下一行文本。代码片段int a = scan.nextInt();
会从输入中读取一个整数,并将其存储在变量a
中。然而,这并不会读取该行剩余的内容,也不会读取下一行的内容。紧接着的代码片段String b = scan.nextLine();
会尝试读取下一行文本,并将其存储在变量b
中。但是,如果nextInt()
之后直接使用nextLine()
,那么nextLine()
会读取到nextInt()
之后的回车符,而不是下一行的内容。这是因为nextInt()
读取整数后,回车符还留在输入流中,而nextLine()
会读取这个回车符,认为是一个空行。为了避免这个问题,通常在nextInt()
之后调用nextLine()
之前,需要额外调用一次nextLine()
来"消耗"掉那个回车符。例如:
int a = scan.nextInt();
scan.nextLine(); // 消耗掉nextInt()后的回车符
String b = scan.nextLine(); // 现在可以正确读取下一行文本
2.小数精度格式化用printf
System.out.printf("%.2f",dp[n][0]);保留两位小数(蜗牛题)
与
System.out.printf("%.2d",dp[n][0]);
不一样
待更新......