首页 > 解决方案 > 三元运算符我试图获取用户输入的扫描仪结果,但它不像我想的那样

问题描述

不明白为什么它不能正确阅读

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);      
    }    
}

标签: javaoperatorsjava.util.scanner

解决方案


您正在尝试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


推荐阅读