string cannot be converted to int! how to sum a sc

2020-05-03 11:30发布

问题:

I wrote this simple program to sum a scanned int written by the user, but when i compile it, it says that "string cannot be converted to int." What is wrong in this program?

import java.util.*;
public class Pr6{
      public static void main(String[] args){
      Scanner scan = new Scanner (System.in);
      int num1;
      int num2;
      int num3;
      int sum;

                  System.out.print("Please write an integer: ");
       num1 = scan.nextLine();

                  System.out.print("Please write an integer: ");
       num2 = scan.nextLine();

                  System.out.print("Please write an integer: ");
       num3 = scan.nextLine();

       sum = num1 + num2 + num3;
                  System.out.print("Total = " + sum);



        }//main
}//Pr6

回答1:

Here is your issue

num1 = scan.nextLine();

Let's look at what data type num1 is:

int num1;

scan.nextLine() will return a String. And you can't have int num1 = "1", because they are different data types.

You should use scan.nextInt(). It will return a number. That'll solve your problems :)

So you'll have num1 = scan.nextInt(), num2 = scan.nextInt(), and num3 = scan.nextInt().

I hope that helps. Good luck!