通过在Java中获取用户输入来比较3个数字

时间:2014-06-14 19:12:36

标签: java

此代码是否可以运行?我收到了错误

big.java:10: error: incompatible types
                a = in.nextLine();
                               ^
  required: int
  found:    String
big.java:14: error: incompatible types
                b = in.nextLine();
                               ^
  required: int
  found:    String
big.java:18: error: incompatible types
                c = in.nextLine();
                               ^
  required: int
  found:    String
3 errors

import java.io.*;

import java.util.Scanner;

public class big    

    {
        public static void main(String args[])  
    {
                    int a;
                    int b;
                    int c;
       Scanner in = new Scanner(System.in);
        System.out.println("Enter value for a");
        a = in.nextLine();
        System.out.println("Your entered value is" +a);

        System.out.println("Enter value for b");
        b = in.nextLine();
        System.out.println("Your entered value is" +b);

        System.out.println("Enter Value for c");
        c = in.nextLine();
        System.out.println("Your entered value is" +c);

    if((a>b)&&(a>c))    
{

System.out.println("The biggest number is" +a);

}

else if((b>a)&&(b>c))   
{

System.out.println("The biggest number is" +b);

}

else    
{

System.out.println("The biggest number is" +c);

}

}

}

2 个答案:

答案 0 :(得分:1)

请注意in.nextLine()返回一个String对象,并尝试将其分配给一个变量,您实际上是在尝试将一个String对象填充到一个int变量中。由于这是不允许的,编译器正在抱怨。请改用Scanner的nextInt()方法,因为它返回一个int。

a = in.nextInt();

顺便说一下,你的问题子标题非常糟糕。当然,您的代码是不可运行的,因为您的Java编译器已经在告诉您。

答案 1 :(得分:1)

使用in.nextInt();不是in.nextLine()