【问题标题】:Java String Sorting ErrorsJava 字符串排序错误
【发布时间】:2012-12-07 04:07:34
【问题描述】:

我正在尝试读取字符串并对其进行排序。我收到了很多错误,这些错误在下面的代码中加了星号。你能告诉我如何解决这些错误吗?

package hw05;

/*
Demonstrates selectionSort on an array of strings.
*/
import java.util.Scanner;

public class Strings {
    // --------------------------------------------
    // Reads in an array of strings, sorts them,
    // then prints them in sorted order.
    // --------------------------------------------
    public static void main(String[] args) {

        String[] stringList;
        String size;

        Scanner scan = new Scanner(System.in);

        System.out.print("\nHow many strings do you want to sort? ");
        size = scan.nextLine();
        **stringList = new String[size];**

        System.out.println("\nEnter the strings...");
        **for (String i = 0; i < size; i++)
            stringList[i] = scan.nextLine();**
        Sorting.selectionSort(stringList);

        System.out.println("\nYour strings in sorted order...");
        **for (String i = 0; i < size; i++)
            System.out.print(stringList[i] + " ");**
        System.out.println();

    }
}

【问题讨论】:

    标签: java string sorting polymorphism


    【解决方案1】:
    stringList = new String[size];
    

    大小应该是int 而不是String。您需要执行以下操作:

    int sizeInInt = Integer.valueOf(size); // This may throw NumberFormatException, wrap it in try/catch.
    
    stringList = new String[sizeInInt ];
    

    (或)

    将大小更改为int 并使用nextInt() 而不是nextLine()

    我建议在执行 nextInt() (或) nextLine() 之前执行 hasNext() ,否则您可能会得到NoSuchElementException。

    【讨论】:

      【解决方案2】:

      首先,你应该发布你得到的确切错误。

      话虽如此,看看每一行的这一部分:

      String i = 0
      

      在这里,您声明了一个名为 i 的 String 变量并将其赋值为 0,即 int。编译器会报错,因为您为变量分配了不同类型的值。

      这可能不是您的代码的唯一问题。正如我之前所说,请发布错误消息,以便我们更及时地为您提供帮助。

      【讨论】:

      • 这是我运行它时遇到的错误。线程“主”java.lang.RuntimeException 中的异常:无法编译的源代码 - 需要不兼容的类型:int found:java.lang.String at hw05.Strings.main(Strings.java:25) Java 结果:1
      • @MaggieErwin 你是如何编译和运行你的代码的?我很惊讶你可以运行它,因为它甚至不应该编译。
      猜你喜欢
      • 2011-07-22
      • 2016-01-29
      • 2014-10-01
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多