java - 比较字符串数组

标签 java arrays joptionpane

大家好,这是一项学校 Activity ,如果我的输入数组等于 0(零)、大于 0(零)和小于 0(零),我发现很难比较它。

这是我的代码...

字符串显示=“”;

    String size = JOptionPane.showInputDialog("Enter Your Prefered Size Of Your Array");
    int newsize = Integer.parseInt(size);

    JOptionPane.showMessageDialog(null,"You Entered "+newsize+".");

    String array[] = new String[newsize];

    for (int a=0; a<array.length;a++)
    {
        array[a]=JOptionPane.showInputDialog("Enter Value For Array["+a+"].");

    }


    //i'm having trouble here.........

    for (int a=0;a<array.length;a++)
    {
        if (array[a].equals(array[0]))
        {

        }
        else if (array[a] < (array[0]))
        {

        }



        display=display+array[a]+"\n";
    }
    JOptionPane.showMessageDialog(null,"Arrays\n"+display);

请有人帮助我......

编辑:

在最后一部分我希望它显示数组是“零”,“正”,“负” (我真的不知道该怎么做)。

最佳答案

您不能使用条件运算符<在字符串比较中。使用compareTo方法。

 array[a].compareTo(array[0])> 0 // greater    
 array[a].compareTo(array[0])< 0 // less
 array[a].compareTo(array[0])== 0 // equals

更新

使用以下片段更新您的代码。

for (int a=0;a<array.length;a++)
{
    if (array[a].compareTo(array[0])== 0)
    {
      //this is equals block
    }
    else if (array[a].compareTo(array[0])< 0)
    {
     //this is less than block.
    }
    display=display+array[a]+"\n";
 }

关于java - 比较字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19928369/

相关文章:

arrays - 在 MATLAB 中将数组转换为字符串?

java - 让 bufferedreader 从循环到下一行?

java - 链表和迭代器

python - 查询矩阵中的行

java - 获取一个 String 并从 String 在 Java 中表示的类中创建一个对象

java - 从一维数组中删除行

java - JOptionPane 出现问题并使其正常工作

java - JOptionPane showConfirmDialog if else 语句不起作用

java - 如何将值从 Activity 传递到 Fragment?

java - 使用 ViewGroup 类中的 SupportMapFragment 来膨胀 View