[英]How would I return x and y from different classes to main in Java?
如何將x和y變量返回到main中以執行加法? 先謝謝您的幫助!
import java.util.Scanner;
public class calling {
public static int x;
public static int y;
public static void num1() {
Scanner scanner = new Scanner (System.in);
System.out.println("Please enter a number: ");
x=scanner.nextInt();
}
public static void num2() {
Scanner scanner = new Scanner (System.in);
System.out.println("Please enter a second number: ");
y=scanner.nextInt();
}
public static void main(String[] args){ **//place to return variables.**
num1();
num2();
System.out.print("The sum of the two numbers is: " + (x+y));
}
}
public static int getInput() {
Scanner scanner = new Scanner(System.in);
return scanner.nextInt();
}
public static void main(String[] args){
System.out.println("Please enter a number: ");
int x = getInput();
System.out.println("Please enter a second number: ");
int y = getInput();
int sum = x + y;
System.out.print("The sum of the two numbers is: " + sum);
}
或更面向對象的方法可能看起來像
public class Calculator {
private Scanner scanner;
public Calculator() {
scanner = new Scanner (System.in);
}
public int getInput() {
return scanner.nextInt();
}
public int add(int x, int y) {
return x + y;
}
public static void main(String[] args) {
Calculator calculator = new Calculator();
System.out.println("Please enter a number: ");
int x = calculator.getInput();
System.out.println("Please enter a second number: ");
int y = calculator.getInput();
int sum = calculator.add(x, y);
System.out.print("The sum of the two numbers is: " + sum);
}
請注意, Java命名約定狀態類應具有大寫的首字母。
只需將num1和num2的返回類型更改為int並將兩個函數的結果保存在main中的變量中即可。 然后使用新變量執行加法,或僅將加法更改為(num1()+ num2())。
除此之外,請讀一本書並嘗試了解如何使用函數,因為您要問的是非常基本的內容。
如果您正在尋找一種將值返回主函數的方法,請閱讀以下代碼
import java.util.Scanner;
public class test {
public static int x;
public static int y;
public static int num1() {
Scanner scanner = new Scanner (System.in);
System.out.println("Please enter a number: ");
x=scanner.nextInt();
return x;
}
public static int num2() {
Scanner scanner = new Scanner (System.in);
System.out.println("Please enter a second number: ");
y=scanner.nextInt();
return y;
}
public static void main(String[] args){
int a = num1();
int b = num2();
System.out.print("The sum of the two numbers is: " + (a+b));
}
}
您不應該使用靜態數據成員或方法-僅當方法成員適用於類的所有實例時,才應使用這些成員或方法。
在這種情況下,唯一的靜態方法應該是main
,並且應該只創建當前類的單個實例 。 main
幾乎永遠不應該做任何實際的工作-盡管在這個瑣碎的示例中,我想可以做一個例外。
理想情況下,您還應該只創建一個Scanner
對象Scanner
類完全能夠讀取連續的數字流,而無需一遍又一遍地為每個要讀取的數字創建一個新的數字。
在下面的代碼中,我只創建一個並直接使用兩次。
import java.util.Scanner;
public class calling {
public calling() {
Scanner scanner = new Scanner (System.in);
System.out.print("Please enter a number: ");
int x = scanner.nextInt();
System.out.print("Please enter a second number: ");
int y = scanner.nextInt();
System.out.println("The sum of the two numbers is: " + (x + y));
}
public static void main(String[] args) {
new calling();
}
}
或者,可以將掃描器對象存儲為成員變量,如以下示例所示:
import java.util.Scanner;
public class calling {
private Scanner scanner = null;
private int getInt(String prompt) {
System.out.print(prompt);
return scanner.nextInt();
}
public calling() {
scanner = new Scanner(System.in)
int x = getInt("Please enter a number: ");
int y = getInt("Please enter a second number: ");
System.out.println("The sum of the two numbers is: " + (x + y));
}
public static void main(String[] args) {
new calling();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.