package largestvalue;
import java.util.*;
public class LargestValue {
public static void main(String[] args) {
String array[][]={
{"renas","Mahdy","Rezhwan"},
{"HRashid","Barham","Harem"},
{"zalamek","Mustafa","Sarbast"}
};
String Largest=array[0][0];
for (int i = 0; i < array.length; i++){
for (int j = 0; j < array[i].length; j++){
if (Largest < array[i][j]) { //This is the error
Largest = array[i][j] + "";
}
}
}
System.out.println("The Largest Number int the Array is :"+Largest);
}
}
查看错误here的屏幕截图。
答案 0 :(得分:2)
您无法将字符串与<
运算符进行比较。
更改
if(Largest<array[i][j])
到
if(Largest.compareTo(array[i][j])<0)
请注意,根据词典(字母)顺序,这将为您提供“最大”String
,这是Java中String
的自然顺序。
另一方面,如果您想找到最长的String
,那就是另一回事,这需要比较length()
s的String
。
答案 1 :(得分:1)
尝试替换它:
if(Largest<array[i][j])
使用如下所示的length()
方法:
if(Largest.length() < array[i][j].length())
答案 2 :(得分:0)
String s = "...";
int counter = 0;
for( int i=0; i<s.length(); i++ ) {
if( s.charAt(i) == '$' ) {
counter++;
}
}
你可以使用上面的代码,然后将计数器分配给为数组的每个值指定的变量,然后比较它们。但我认为这样做太长了。
答案 3 :(得分:0)
在Java 8中:
String largest = Arrays.stream(array)
.flatMap(Arrays::stream)
.sorted(Comparator.comparing(String::length).reversed())
.findFirst()
.orElse(null);