我正在尝试在java中制作一个基本的计算器,仅用于练习。我知道为了将用户输入保存为整数,您必须这样做:
int num1 = number1.nextInt();
但是每当我尝试使用此代码使用字符串执行此操作时:
char mathT = mathType.nextChar();
我收到一个错误。你如何将它保存为字符串?这是错误:
calculator.java:20: cannot find symbol
symbol : method nextChar()
location: class java.util.Scanner
char mathT = mathType.nextChar();
^
1 error
这是完整的代码:
import java.util.Scanner;
public class calculator
{
static Scanner mathType = new Scanner(System.in);
static Scanner number1 = new Scanner(System.in);
static Scanner number2 = new Scanner(System.in);
public static void main(String[] args)
{
System.out.println("Enter M, D, S, or A");
int num2 = number2.nextInt();
char mathT = mathType.nextChar();
int num1 = number1.nextInt();
if (mathT == 'M')
{
System.out.println(num1 * num2);
}
else if (mathT == 'D')
{
System.out.println(num1 / num2);
}
else if (mathT == 'A')
{
System.out.println(num1 + num2);
}
else if (mathT == 'S')
{
System.out.println(num1 - num2);
}
else
{
System.out.println("You did not enter a valid operation.");
}
}
}
Scanner
类没有nextChar()
方法。相反,你可以这样做:
char mathT = mathType.next().charAt(0);
这将获取下一个完整标记的第一个字符并将其分配给mathT
。
另外,没有多个Scanner
对象可以从System.in
读取