[英]How to use a boolean return value from my subprogram in my main
嘿,我做了一個子程序,它返回true或false。 現在在主目錄中,我無法在if語句中使用它。 這就是我塑造if語句的方式:
Uniqueyear(year);
if (Uniqueyear()) {
System.out.println(year + "is unique.");
}
else {
year++;
Uniqueyear(year);
}
}
但是,當我編譯程序時,它說“類DistinctDigits中的方法Uniqueyear無法應用於給定類型;必需:int發現:無參數原因:實際參數和形式參數列表的長度不同”
我是編程新手,似乎無法解決它。我還嘗試編寫“ if(Uniqueyear(year)){..,但它弄亂了我的輸出。這是我的子程序,以防萬一我的return語句中有問題其他:
public static boolean Uniqueyear(int a) {
String year= Integer.toString(a);
for (int i=0; i<year.length(); i++) {
for(int j = i + 1; j < year.length(); j ++){
if (year.charAt(i) == year.charAt(j)) {
return true;
}
}
}
return false;
任何幫助將不勝感激。 :)
“子程序”稱為方法。 由於它是靜態的,所以它是一個類方法(一種在類上而不是在實例上調用的方法,例如非靜態方法)。
當您調用Uniqueyear(year)時,您正在該類中調用Uniqueyear方法。
您已經定義了一個接收整數的Uniqueyear方法。 因此,無論何時調用它,編譯器都會期望找到傳遞給它的整數值。
因此,當您這樣做
if (Uniqueyear()) {
}
編譯器抱怨您沒有將必需的參數傳遞給Uniqueyear。
您可以存儲上次對Uniqueyear的調用的返回值,然后在該值上使用if。
boolean myBoolean = Uniqueyear(year);
if (myBoolean) {
}
或者,您也可以刪除第一個Uniqueyear調用,並將其直接放在if條件內。
if (Uniqueyear(year)) {
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.