簡體   English   中英

將值返回給Java中的main方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM