基本Java计算器使用函数(初学者)
嘿,伙计们,我是java的初学者,还在学习。我有一个关于函数的问题。所以我只是为了好玩而创建了一个基本的计算器基本Java计算器使用函数(初学者),java,calculator,Java,Calculator,嘿,伙计们,我是java的初学者,还在学习。我有一个关于函数的问题。所以我只是为了好玩而创建了一个基本的计算器 package calculator; import java.util.Scanner; public class Calculator { public void printMenu() { System.out.println("Basic Calculator"); System.out.println("A. Addition"); System
package calculator;
import java.util.Scanner;
public class Calculator {
public void printMenu() {
System.out.println("Basic Calculator");
System.out.println("A. Addition");
System.out.println("B. Subtraction");
System.out.println("C. Multiplication");
System.out.println("D. Division");
System.out.println("Enter letter of operation");
}
public void enterNumbers() {
System.out.println("Enter first number:");
int n1 = scan.nextInt();
System.out.println("Enter second number:");
int n2 = scan.nextInt();
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Calculator calc = new Calculator();
calc.printMenu();
String choice = scanner.nextLine();
Calculator operation = new Calculator();
switch (choice) {
case "a":
case "A":
System.out.println("Addition");
operation.enterNumbers();
}
}
}
但当我测试它时,当我继续进行案例a时,它显示了以下内容:
run:
Basic Calculator
A. Addition
B. Subtraction
C. Multiplication
D. Division
Enter letter of operation:
A
Addition
Enter first number:
Exception in thread "main" java.lang.UnsupportedOperationException: Not supported yet.
at calculator.scan.nextInt(scan.java:19)
at calculator.Calculator.enterNumbers(Calculator.java:29)
at calculator.Calculator.main(Calculator.java:46)
/Users/juancarlosraymundo/Library/Caches/NetBeans/8.2/executor-snippets/run.xml:53: Java returned: 1
BUILD FAILED (total time: 3 seconds)
调用函数EnterNumber时是否出错?非常感谢,我希望了解更多信息。扫描仪必须是一个字段,扫描不存在 我在类行下定义scanner 并将
enterNumbers()
方法中的scann
更改为scanner
package calculator;
import java.util.Scanner;
/** * * @author juancarlosraymundo */
public class Calculator {
Scanner scanner = new Scanner(System.in);
public void printMenu() {
System.out.println("Basic Calculator");
System.out.println("A. Addition");
System.out.println("B. Subtraction");
System.out.println("C. Multiplication");
System.out.println("D. Division");
System.out.println("Enter letter of operation");
}
public void enterNumbers() {
System.out.println("Enter first number:");
int n1 = scanner .nextInt();
System.out.println("Enter second number:");
int n2 = scanner .nextInt();
}
public static void main(String[] args) {
Calculator calc = new Calculator();
calc.printMenu();
String choice = scanner.nextLine();
Calculator operation = new Calculator();
switch (choice) {
case "a":
case "A":
System.out.println("Addition");
operation.enterNumbers();
}
}
}
看起来您忘记了
scan
的声明
Scanner scan = new Scanner(System.in);
在enterNumbers()函数中,公共类计算器的右下方
可以执行任务,扫描是未知对象引用:
public void enterNumbers() {
System.out.println("Enter first number:");
int n1 = scan.nextInt();
System.out.println("Enter second number:");
int n2 = scan.nextInt();
}
在上述函数中创建scanner对象或将其作为参数传递。正如其他人所指出的那样:代码中的问题在于,您是一个名为scan的变量,而该变量未在源代码中定义 因此,直接的答案是将scanner作为类的一个字段,并在需要用户输入时使用它(顺便说一句,您必须避免在system.in.上使用多个scanner) 但真正的答案是:当你的类有编译错误时,然后修复它们。运行未完全编译的代码会导致此类问题。有时候,像eclipse这样的IDE允许运行不完整的代码是有帮助的,但当您是新手时,请避免这样做
public class Calculator {
static Scanner scanner = new Scanner(System.in);
public void printMenu() {
System.out.println("Basic Calculator");
System.out.println("A. Addition");
System.out.println("B. Subtraction");
System.out.println("C. Multiplication");
System.out.println("D. Division");
System.out.println("Enter letter of operation");
}
public void enterNumbers() {
System.out.println("Enter first number:");
int n1 = scanner.nextInt();
System.out.println("Enter second number:");
int n2 = scanner.nextInt();
}
public static void main(String[] args) {
Calculator calc = new Calculator();
calc.printMenu();
char choice = scanner.next().charAt(0);//switch cant work with string //,declare choice as character
Calculator operation = new Calculator();
switch (choice) {//switch cant work with string
case 'a':
case 'A':
System.out.println("Addition");
operation.enterNumbers();
}
}
}扫描仪必须是一个字段,扫描不存在您要添加解释。声明第二个扫描仪对象实际上没有帮助。使用中应该只有一个扫描对象switch不能与字符串一起使用,它只能与enum或integerStarting一起使用java 7 switch也可以使用字符串。我可以给您留言或寻求帮助吗。谢谢,请理解,这不是你可以得到免费家教服务的编程学校。我个人的建议是:在几天内远离android,专注于java基础知识。除此之外,我今天会很忙,几乎没有机会有时间聊天。