Если я хотел бы вызвать метод из другого класса для ввода его в текущий класс, над которым я работаю, как его форматировать для вызова метода? Как код написан для вызова метода. В настоящее время у меня есть мой массив floats, который является методом? написанный в другом классе, и я хотел бы вызвать функцию, которая будет введена в класс, над которым я работаю. Я, честно говоря, не хочу казаться невежественным, но у меня есть твердый галстук, который пытается понять, как работает джава. Благодарю.Каков формат вызова метода из другого класса?
Это то, что я положил. Массив float и имя = имя класса? Я уверен, что это неверно, потому что я получаю сообщение об ошибке, что 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'. Но синтаксис, который вы используете, выглядит корректно. – Pokechu22
Вы не можете вызвать массив, но вы можете вызвать метод. И если 'pickNumbers' - это метод, объявленный как' public float [] pickNumbers() {... код ...} ', тогда ваш синтаксис будет работать. Если это не метод, пожалуйста, покажите нам некоторый код, чтобы мы могли понять, что вы пытаетесь сделать. – ajb
Одна из идей - создать открытый метод getter для вашего внешнего класса, который вернет необходимый массив после его вызова. Таким образом, вам не придется беспокоиться о несанкционированном доступе к этому массиву – yiwei