簡體   English   中英

方法被調用兩次?

[英]Method being called twice?

我正在嘗試編寫一個簡單的程序,該程序從用戶那里輸入薪水,然后輸出薪水+200。當我輸入值時,它顯示再次輸入薪水的問題,然后再次輸入數字后,上班。 知道為什么嗎?

package learning;

import java.util.Scanner;

public class SalaryReadIn {

Scanner scan = new Scanner(System.in);

public SalaryReadIn () {

}

public int getSalary () {

    int currentSalary;
    System.out.println("Enter your current salary: ");
    currentSalary = scan.nextInt();
    return currentSalary;

}

public void calculate () {

    int currentSalary = getSalary();
    int newSalary = currentSalary + 200;
    System.out.println("Your new salary is: £" + newSalary);

}

public static void main (String args[]) {

    SalaryReadIn salary = new SalaryReadIn();
    salary.getSalary();
    salary.calculate();

}


}

謝謝你的幫助!

在主方法中調用getSalary()兩次,然后在第二個方法中調用getSalary()。

如Oliver所述,您兩次調用了getSalary()方法。

  • JVM首先運行main(String args[])方法。
  • 然后找到線,

     salary.getSalary(); 
  • 然后,JVM進入getSalary()方法並在那里執行任何操作。

  • 接下來,當它找到salary.calculate()行時,便進入該方法。
  • 在您的calculate()方法中,該行

     int currentSalary = getSalary(); 

    包含再次調用的getSalary()方法。


在main方法中刪除以下代碼行。

salary.getSalary();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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