【发布时间】:2014-11-04 02:09:14
【问题描述】:
如果我想从另一个类中调用一个方法以将其输入到我正在处理的当前类中,我如何格式化它以调用该方法?如何编写代码来调用该方法。目前我有我的浮点数组是一种方法吗?写在另一个类中,我想调用将函数输入到我正在处理的类中。老实说,我并不是说听起来无知,但我很难理解 Java 是如何工作的。谢谢。
这是我写的。浮点数组和名称=类的名称?我很确定这是不正确的,因为我收到了无法解析 myPickNumbers 的错误。
float[] myFloats = myPickNumbers.pickNumbers();
我正在尝试这个:
import java.util.InputMismatchException;
import java.util.Scanner;
public class pickNumbers {
Scanner readInput = new Scanner(System.in);
float [] pickNumbers(int choice){
float []myFloats = new float[2];
do { //do loop will continue until user enters correct response
System.out.print("Please enter 2 numbers separated by a space in the formats of floats: "); //will prompt user to enter 2 floats
try {
myFloats[0] = readInput.nextFloat(); //will read first float entered
myFloats[1] = readInput.nextFloat(); //will read second float entered
if (choice == 4 && myFloats[1] == 0.0f) {
System.out.println("Cannot complete calculation. Cannot divide by 0, please try again.");
myFloats[0] = myFloats[1] = 0.0f;
continue;
}
break;
} catch (final InputMismatchException e) {
System.out.println("You have entered an invalid input. Try again.");
readInput.nextLine(); // discard input that is not a float
continue; // loop will continue until the correct answer is found
}
} while (true);
return myFloats;
}
}
并将其放入:
public class Calculator {
public static void main(String[] args) {
String inputOperation;
String operatingWord[] = { "adding", "subtracting",
"multiplying", "dividing" };
//array of operations to display to user
Selection mySelection = new Selection();
String menu = "Welcome to John Doe's Calculator" //next line print out line for welcome
+ "\n 1. Addition"//next line option 1 for addition
+ "\n 2. Subtraction" //next line option 2 for subtraction
+ "\n 3. Multiplication" //next line option 3 for multiplication
+ "\n 4. Division" //next line option 4 for division
+ "\n 5. Exit\n"
+ "====================================\n\n"; //next line option 5 for exit then leave a blank line
Symbol.newSymbol(menu);
Symbol.displaySymbol();
while (!(inputOperation = mySelection.selectionOne()).equals("5"))
Symbol.newSymbol("\n");
Symbol.displaySymbol();
float[] myFloats = myPickNumbers.pickNumbers();
【问题讨论】:
-
如果“myPickNumbers 无法解析”,则错误是您尚未导入或未使用
myPickNumbers类的正确名称。但是您使用的语法看起来是正确的。 -
不能调用数组,但可以调用方法。如果
pickNumbers是一个声明为public float[] pickNumbers() { ...the code... }之类的方法,那么您的语法将起作用。如果这不是一种方法,请向我们展示一些代码,以便我们弄清楚您要做什么。 -
"I would like to call an array"-- 不能“调用”数组。方法可以,这就是你应该做的。 -
"这里是数组!!这里是哥们!!"
-
感谢您发布代码。评论:在你的类中有一个与你的类同名的方法是一个非常糟糕的主意。按照惯例,类名应以大写字母开头,方法名应以小写字母开头。一个类的构造函数看起来几乎就像一个与类同名的方法;如果您有一个方法也具有相同的名称,那么它是合法的,但非常令人困惑。