我有一個函數正在搜索數組中的最大數字。我想讓該函數搜索從控制檯輸入的多個單詞。 例如我輸入兩個單詞(汽車,騎)他們被添加到數組,然後"surasti"
功能比較他們,如果他們在陣列中。 我試圖做我自己,但我一開始,似乎太難:(從查找最大數量到查找數組中的單詞的變化
功能是搜索:
public static produktas[] surasti (produktas G[], int n){
produktas A[] = new produktas[1];
produktas max = G[0];
for (int i=1; i<n; i++)
if (max.gautiSvori()<G[i].gautiSvori()) max = G[i];
A[0]=max;
return A;
}
正在調用該函數的代碼(A
是你必須在搜索陣列):
case 5:
B = surasti(A, n);
System.out.println("Sunkiausias gyvunas yra:");
spausdinti_sar_ekrane(B, B.length);
break;
的produktas類:
class produktas {
private String pavadinimas;
private String salis;
private Double svoris;
private Double kaina;
produktas() {}
produktas(String pav, String salis, double svoris, double kaina){
pavadinimas = pav;
this.salis = salis;
this.svoris = svoris;
this.kaina = kaina;
}
public String gautiPav(){
return pavadinimas;
}
public String gautiSali(){
return salis;
}
public double gautiSvori(){
return svoris;
}
public double gautiKaina(){
return kaina;
}
}
當我嘗試的功能改變這種(不知道它的做工精細,不能測試):
:public static produktas[] surasti (produktas G[], int n){
try{
BufferedReader in = new BufferedReader (new InputStreamReader (System.in));
produktas A[] = new produktas[5];
for (int j=0; j<5; j++){
System.out.println("Kokio produkto ieskosime?");
String found = in.readLine();
for (int i=1; i<n; i++){
if (found.equals(G[i].gautiPav())){
A[j] = G[i];
}
}
}
return A;
} catch(IOException ie){
ie.printStackTrace();
}
}
當我嘗試這個代碼,我在public static produktas[] surasti (produktas G[], int n){
線得到這個錯誤
This method must return a result of type produktas[]
給你完整的解決方案將是錯誤的。我會建議你查找HashSet和HashMap – Acewin
@Acewin我已經在Google上搜索了幾個小時,當我發現了一些東西時 - 其他的東西都出錯了......我現在只是鬱悶,哈哈... – labasRyta
爲什麼我不是能夠理解OP的要求?沒有找到數組中的單詞數量只是array.length? – user3437460