[英]how to pass parameters to methods
如果我要將從用戶讀取的3個整數傳遞給一個方法,那么我以哪種順序從用戶讀取這些整數是否重要? 我的意思是這段代碼之間有區別:
int small = scan.nextInt();
int big = scan.nextInt();
int medium= scan.nextInt();
size(small, big, medium);
//size is a method I wrote :public static boolean size(int small, int big, int medium)
和此代碼:
int medium= scan.nextInt();
int small = scan.nextInt();
int big = scan.nextInt();
size(small, big, medium);
不! 盡管您應該讓用戶知道他們正在輸入什么:
System.out.println("Enter the medium value: );
int medium= scan.nextInt();
System.out.println("Enter the small value: );
int small = scan.nextInt();
System.out.println("Enter the big value: );
int big = scan.nextInt();
size(small, big, medium);
話雖如此,如果用戶輸入的值不正確(即,如果用戶在輸入中值時輸入的是小值,則可能會有問題)。
因此,您應該在調用該方法之前執行一些檢查,如下所示:
int small, medium, big;
do {
System.out.println("Enter the medium value: );
medium= scan.nextInt();
System.out.println("Enter the small value: );
small = scan.nextInt();
System.out.println("Enter the big value: );
big = scan.nextInt();
while (!(small < medium && medium < large));
size(small, big, medium);
如果用戶輸入10
, 20
, 30
,則第一個版本將具有方法調用size(10,20,30)
和第二將具有size(20,10,30)
那是有區別的。
1.僅在設置方法的方式上設置變量時沒有區別,例如,無論如何排序,都可以。
int small = scan.nextInt();
int big = scan.nextInt();
int medium= scan.nextInt();
該調用應模仿您創建方法的方式,這樣您將得到語法錯誤,這是我第一次開始編程時最大的缺點之一
public int size(int small, int big , int medium){ ....} size(small, big, medium); // correct size(big,small, medium);// wrong in this case
3.但是您可以以任何順序聲明變量,只要在調用方法時就可以按照創建方法的相同方式對其進行設置。
int medium= scan.nextInt();
int small = scan.nextInt();
int big = scan.nextInt();
size(small, big, medium);
4.其他示例,如果您要以與第二個示例相同的方式調用size方法,則可以這樣設置方法:
public int size(int big, int small , int medium){
....}
size(big,small, medium); // correct
size(small, big, medium); // wrong in this case
您應該提示用戶,以便他/她可以插入正確的Data。 除非方法本身直接處理訂單,否則它基本上沒有區別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.