我最近开始在业余时间学习java。所以为了练习,我制作了一个程序,可以测量温度(摄氏度或华氏度),并将其转换为相反的温度。我已经导入了键盘扫描仪。
int temp;
String opposite, type;
double product;
System.out.print("Please enter a temperature: ");
temp = keyboard.nextInt();
System.out.println("Was that in Celsius or Fahrenheit?");
System.out.print("(Enter 'C' for Celsius and 'F' for Fahrenheit) ");
type = keyboard.nextLine();
if (type == "C") // Only irrelevant temp conversion code left so I'm leaving it out
我不熟悉字符串和nextLine
之类的东西,程序只是跳过了用户输入部分,在那里输入C或F。有人能解释一下我能做些什么来解决这个问题吗?
谢谢!
。nextInt()
不读取行尾字符“\n”
。
您需要在. nextInt()
后面放一个keyboard.nextLine()
,然后它就可以工作了。
永远不要在Scanner#nextInt
之后使用Scanner#nextLine
。每当您在Scanner#nextInt
之后按下回车键时,它将跳过Scanner#nextLine
命令。因此,从
int temp = keyboard.nextInt();
到
int temp = Integer.parseInt(keyboard.nextLine());
为您更改代码nextLine()
到
下一步()
它会工作的。
System.out.println("Was that in Celsius or Fahrenheit?");
System.out.print("(Enter 'C' for Celsius and 'F' for Fahrenheit) ");
type = keyboard.next();
为了让你知道发生了什么:
nextLine():使扫描仪前进到当前行,并返回跳过的输入。
- Next():查找并返回此扫描仪中的下一个完整令牌。
也像许多答案所说的使用
equals()
而不是使用==
比较字符串。=
只检查对对象的引用是否相等<代码>。equal()
在这里阅读更多
运行代码时,我收到一个数字格式异常: 如何防止此异常发生?
问题内容: 我在使用python eval函数执行多行字符串时遇到问题/ 问题答案: 只能评估Python 表达式 ,不能评估语句。函数定义是语句,而不是表达式。 使用执行Python语句。 请参阅“ 顶层组件” 文档 ,该文档在 文件输入 和 表达式输入 之间进行区分(其中包括): 在以下情况下使用此语法: […] 解析传递给该语句的字符串时; 和 […]的字符串参数必须具有以下形式: 千万 不
问题内容: System.out.print(“Name : “); String name = in.nextLine(); 输出将是: 名称:测试 年龄:20 建立成功 当我调试它们时,它不会读取“ city”的用户输入。但是,当我将“年龄”的数据类型更改为字符串时,它将读取。我如何在读取城市用户输入的系统中将age的数据类型保持为整型? 问题答案: 读取年龄后,由于缓冲区中仍然有换行符,请将
我正在编辑从tesseract ocr收到的一些电子邮件。 以下是我的代码: 但输出不正确。 输入: 输出: 但是当我在每次替换后将结果赋给一个新的字符串时,它工作得很好。为什么在同一个字符串中连续赋值不起作用?
当我在Jsp程序中使用属性自定义标记时,出现了一些错误: Servlet。路径为[/Tag]的上下文中servlet[jsp]的service()引发了具有根本原因java的异常[无法编译jsp类]。lang.NumberFormatException:用于输入字符串:“标记” 细节如下: 标签jsp tag.tld 日期标签。JAVA