我有一个函数正在搜索数组中的最大数字。我想让该函数搜索从控制台输入的多个单词。 例如我输入两个单词(汽车,骑)他们被添加到数组,然后"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