[英]Returning value to main method in java
我是Java的新手,但我仍在嘗試了解如何返回值然后檢索它。 在此任務上,指令是使用getMinutes()將值返回給main方法。 然后在calcMeth()上使用該值來獲取計算結果。 該代碼有效,但是當我運行它時,getMinutes()會運行兩次。 我想知道如何在不兩次運行getMinutes()的情況下將getMinutes()的值傳遞給calcMeth()
package ch3Hw;
import java.util.Scanner;
public class SammysMotto2 {
public static void main(String[] args){
getMinutes();
sammysMotto2();
calcMeth();
}
public static int getMinutes(){ //method 2
int mins;
Scanner keyboard = new Scanner (System.in);
System.out.println("Enter the number of minutes for Rental");
mins=keyboard.nextInt();
return mins;
}
public static void calcMeth(){ //method 3
int minS;
int hourS; // hours
int priceH; // price for hours used
int remMin; // minutes over an hour
int priceMin; // price of minutes used over an hour
int totalPrice;
minS=SammysMotto2.getMinutes(); // anytime i called the method, the method runs again
hourS=minS/60;
remMin=minS % 60;
priceH=hourS*40;
priceMin=remMin*1;
totalPrice=priceH+priceMin;
System.out.println("Total price of rental is $" + totalPrice);
}
public static void sammysMotto2(){ //Method 2
String a ="SsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSs";
String b="Ss Ss";
String c="Ss Sammy makes it fun in the sun. Ss";
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(b);
System.out.println(a);
}
}
您可以在main
方法和calcMeth
調用getMinutes
,我想您只是想從main
方法中調用它,並將結果作為參數傳遞給calcMeth
就像是...
public static void main(String[] args){
int minutes = getMinutes();
sammysMotto2();
calcMeth(minutes);
}
並且您需要更改您的calcMeth
以允許將值傳遞給它,例如...
public static void calcMeth(int minS){ //method 3
int hourS; // hours
int priceH; // price for hours used
int remMin; // minutes over an hour
int priceMin; // price of minutes used over an hour
int totalPrice;
hourS=minS/60;
有關更多詳細信息,請參見將信息傳遞給方法或構造函數 。
每次調用或嘗試獲取方法的返回值時,只需取消對main中的getMinutes()方法的首次調用即可。 在獲得返回值之前,此方法將執行其中的所有代碼。
import java.util.Scanner;
public class SammysMotto2 {
public static void main(String[] args){
// getMinutes();
sammysMotto2();
calcMeth();
}
public static int getMinutes(){ //method 2
int mins;
Scanner keyboard = new Scanner (System.in);
System.out.println("Enter the number of minutes for Rental");
mins=keyboard.nextInt();
return mins;
}
public static void calcMeth(){ //method 3
int minS;
int hourS; // hours
int priceH; // price for hours used
int remMin; // minutes over an hour
int priceMin; // price of minutes used over an hour
int totalPrice;
minS=SammysMotto2.getMinutes(); // anytime i called the method, the method runs again
hourS=minS/60;
remMin=minS % 60;
priceH=hourS*40;
priceMin=remMin*1;
totalPrice=priceH+priceMin;
System.out.println("Total price of rental is $" + totalPrice);
}
public static void sammysMotto2(){ //Method 2
String a ="SsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSs";
String b="Ss Ss";
String c="Ss Sammy makes it fun in the sun. Ss";
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(b);
System.out.println(a);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.