【问题标题】:What is the format of calling a method from another class?从另一个类调用方法的格式是什么?
【发布时间】: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" -- 不能“调用”数组。方法可以,这就是你应该做的。
  • "这里是数组!!这里是哥们!!"
  • 感谢您发布代码。评论:在你的类中有一个与你的类同名的方法是一个非常糟糕的主意。按照惯例,类名应以大写字母开头,方法名应以小写字母开头。一个类的构造函数看起来几乎就像一个与类同名的方法;如果您有一个方法也具有相同的名称,那么它是合法的,但非常令人困惑。

标签: java arrays class


【解决方案1】:

您正在尝试使用既未声明也未初始化的变量 myPickNumbers。您必须先声明并初始化它,然后才能使用它:

pickNumbers myPickNumbers = new pickNumbers();

【讨论】:

    【解决方案2】:

    你应该先声明一个新的pickNumbers对象

    pickNumbers myPickNumbers = new pickNumbers();
    

    然后您可以调用 pickNumbers() 方法,但您必须包含一个 int 类型的参数,例如

    float[] myFloats = myPickNumbers.pickNumbers(5)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2021-08-23
      • 2014-02-07
      • 1970-01-01
      相关资源
      最近更新 更多