java - 三元运算符我试图获取用户输入的扫描仪结果,但它不像我想的那样
问题描述
不明白为什么它不能正确阅读
import java.util.Scanner;
public class ternary_operator {
public static void main(String[] args) {
Scanner s = new Scanner(System.in).useDelimiter("\r?\n");
int i = 100;
int j = 200;
String light;
String heavy;
light = (" You are light");
heavy= ("You are heavy");
System.out.println("How much do you weigh? 100 or 200 ?");
s = s.nextInt();
s = i==i?light:heavy;
System.out.println(s);
}
}
解决方案
您正在尝试s
用作 a Scanner
、 anint
和 a String
。
这是需要调整的部分:
s = s.nextInt();
s = i==i?light:heavy;
也i==i
没有多大意义。它永远是真的。我猜你的意思是(whatever variable s.nextInt() will be assigned to)==i
推荐阅读
- python - NumPy 数组赋值期间无限的 __getitem__ 调用
- python - sqlite3.IntegrityError:数据类型不匹配
- google-analytics - 客户 ID 不正确
- java - 如果适用,使用子类的方法
- php - php 表值显示不正确
- matlab - 在气候数据运算符中使用 timeselavg 时出错
- java - 如何逐渐加快 Android 中的声音播放速度?
- powershell - PSScriptAnalyzer 在我的 Visual Studio 代码中不起作用
- java - 为什么builder会丢失类型?
- qt - Why expanding in QTreeView may work incorrectly?