java - 为什么我的代码没有读取 java 中的第一个字符串输入?
问题描述
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("Enter two numbers: ");
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println("Enter two decimal numbers: ");
float x = sc.nextFloat();
float y = sc.nextFloat();
System.out.println("Enter two words: ");
String i = sc.nextLine();
String j = sc.nextLine();
//System.out.println(i);
//System.out.println(j);
System.out.println(max(a,b));
System.out.println(max(x,y));
System.out.println(max(i,j));
}
我仍在学习java,我尝试删除“Line”并将我的两个单词输入写在由空格分隔的同一行中并且它有效但是有人可以解释为什么“nextLine”跳过第一个字符串输入,即使它执行两个整数和两个浮动?
解决方案
这似乎对我有用。当打印你的值时你有逗号,在Java中你需要把加法符号为了将两个值加在一起,我还必须在中间添加一个字符串以确保程序没有添加数值,我只将其添加到最后一个打印行中,以使输出看起来更好。我将 .nextline() 更改为只能输入单个单词的 .next() 。
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("Enter two numbers: ");
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println("Enter two decimal numbers: ");
float x = sc.nextFloat();
float y = sc.nextFloat();
System.out.println("Enter two words: ");
String i = sc.next();
String j = sc.next();
//System.out.println(i);
//System.out.println(j);
System.out.println(a + " : " + b);
System.out.println(x + " : " + y);
System.out.println(i + " : " + j);
}}
推荐阅读
- javascript - 使用 $(this); 在 div 中获取子 img;[点击事件]
- ios - AVAssetExportSession exportAsynchronouslyWithCompletionHandle : 导出音频错误
- javascript - 纱线发布
.gitignore 覆盖 .npmignore - database - MS Access - 打印表格时隐藏表格
- jenkins - 在 Jekin 构建中找不到指定的 SDK 'Microsoft.NET.Sdk' 错误
- twitter-bootstrap-3 - 位置固定时模态显示按钮不起作用
- ios - 闭包和其他 GCD 问题中的弱 DispatchGroup
- php - 无法从刀片接收控制器中的所有表单字段值。拉拉维尔
- jsf - Wildfly 11 中的 FORM 身份验证回退
- python - 如何在pyomo中模拟订单<1的反应?