Java 查找列表中的最大项
我在查找列表中的最大项时遇到问题!假设我有一张清单Java 查找列表中的最大项,java,Java,我在查找列表中的最大项时遇到问题!假设我有一张清单 List db_list=new List(); db_list.add("0.5 150 A"); db_list.add("0.3 120 B"); db_list.add("0.1 250 C"); db_list.add("0.7 100 C"); 我想找到列表中的最大项: double m=Double.parseDouble(db_list.getItem(0).split("\\s"
List db_list=new List();
db_list.add("0.5 150 A");
db_list.add("0.3 120 B");
db_list.add("0.1 250 C");
db_list.add("0.7 100 C");
我想找到列表中的最大项:
double m=Double.parseDouble(db_list.getItem(0).split("\\s")[0]);
int Loc=0;
for (int i = 0; i < db_list.getItemCount(); i++) {
if (Double.parseDouble(db_list.getItem(i).split("\\s")[0])>m) {
Loc+=1;
m=Double.parseDouble(db_list.getItem(i).split("\\s")[0]);
}
}
System.out.println("The Maximum is: "+db_list.getItem(Loc));
double m=double.parseDouble(db_list.getItem(0.split)(\\s”)[0]);
int Loc=0;
对于(int i=0;im){
Loc+=1;
m=Double.parseDouble(db_list.getItem(i).split(“\\s”)[0]);
}
}
System.out.println(“最大值为:”+db_list.getItem(Loc));
因此,最大项目应为“0.7 100 C”!
这个逻辑有什么问题吗?有人能找出我的错误吗?我最近几个小时都很困惑。谢谢。我想你想要的是最大变量的位置,而不是找到一个较大值的次数
Loc = i;
在这里,使用调试器可以帮助您在几分钟内找到问题
为了你的兴趣,这是如何写的
static double firstValue(String s) {
return Double.parseDouble(s.split("\\s", 2)[0]);
}
double max = firstValue(db_list.getItem(0));
int loc = 0;
for (int i = 1; i < db_list.getItemCount(); i++) {
double next = firstValue(db_list.getItem(i));
if (next > max) {
loc = i;
max = next;
}
}
System.out.println("The Maximum is: " + max + " at " + loc);
static double firstValue(字符串s){
返回Double.parseDouble(s.split(\\s',2)[0]);
}
double max=firstValue(db_list.getItem(0));
int loc=0;
对于(int i=1;i最大值){
loc=i;
max=next;
}
}
System.out.println(“最大值为“+loc”处的“+max+”);
我还建议您以后使用标准的
列表
类数组列表
。我假设您想要的是最大变量的位置,而不是找到较大值的次数
Loc = i;
在这里,使用调试器可以帮助您在几分钟内找到问题
为了你的兴趣,这是如何写的
static double firstValue(String s) {
return Double.parseDouble(s.split("\\s", 2)[0]);
}
double max = firstValue(db_list.getItem(0));
int loc = 0;
for (int i = 1; i < db_list.getItemCount(); i++) {
double next = firstValue(db_list.getItem(i));
if (next > max) {
loc = i;
max = next;
}
}
System.out.println("The Maximum is: " + max + " at " + loc);
static double firstValue(字符串s){
返回Double.parseDouble(s.split(\\s',2)[0]);
}
double max=firstValue(db_list.getItem(0));
int loc=0;
对于(int i=1;i最大值){
loc=i;
max=next;
}
}
System.out.println(“最大值为“+loc”处的“+max+”);
我还建议您将来使用标准的
列表
类数组列表
。使用比较器
,而不是将Loc+=1
从if
语句中删除列表
?您是否编写了自己的名为List
的类?使用比较器,而不是将Loc+=1
从if
语句中取出List
?你写过自己的类名为List
?我想你的意思是double-next=firstValue(db_-List.getItem(I))
我想你的意思是double next=firstValue(db_list.getItem(I))代码>