java - 还没有挂起 我怎样才能纠正这个错误

标签 java

import java.util.Arrays;
import java.util.Scanner;

public class Sort {

    public static void main(String[] args) {
        String temp = "";
        String a ="";

        String[] New;

        Scanner keyboard = new Scanner(System.in);
        //String s1 = new String(keyboard.nextLine());

        System.out.println("Please write your elements.");

        while(keyboard.hasNext()){          
            String currentString = keyboard.next();
            if(currentString.equals(" ")){
                System.out.println("Bye");
            }
            a += (currentString.charAt(0) + "").toUpperCase() + currentString.substring(1).toLowerCase()+",";
        }
        a = a.substring(0, a.length()-1);

        New = a.split(",");
        System.out.println("Your elements are" + Arrays.toString(New) + ".");

        for (int x = 1; x < New.length; x++) {
            for (int y = 0; y < New.length - x; y++) {
                if (New[y].compareTo(New[y + 1]) > 0) {
                    temp = New[y];
                    New[y] = New[y + 1];
                    New[y + 1] = temp;

                }
            }

        } for(int i=0;i<New.length;i++){
            System.out.println(New[i]);
        }
        /*System.out.println("In alphabethical order form is:");
        System.out.println(Arrays.toString(New));*/

    }
}

hasnext 处于无限循环中,我已经搜索了 stackowerflow,但答案无法修复错误。请帮助我。这里是我的代码,请写下您的元素。

如果我按空格键并输入,我就会遇到问题。

再见 线程“main”中的异常 java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-1 在 java.lang.String.substring(来源未知) 在 aa.Sort.main(Sort.java:38)

最佳答案

有几件事。您应该使用hasNextLine()nextLine()而不是hasNext()next() .

更改后,您的 while 循环永远不会结束,因为您只是打印 Bye并继续循环。添加break打印 Bye 后的语句.

if(currentString.equals(" ")){
    System.out.println("Bye");
    break;
}

关于java - 还没有挂起 我怎样才能纠正这个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35465166/

相关文章:

JavaFX 模块对 VM 不可见

java - 得到一个 The entity name must immediately follow the '&' in the entity reference error in java, 但我的 xml 文件中没有任何符号

java - 线程 "main"java.lang.NoClassDefFoundError : org/junit/Assume$AssumptionViolatedException 中的异常

java - 增加 MDB 实例

java - React Native : NoClassDefFoundError - android. support.v4.app.FragmentActivity

java - 如何有条件地将 Transform 应用于 PCollection?

java - 如何使用 Wicket 口的休息服务

Java从文本文件中读取和拆分句子

java - Hibernate 5.2,如何选择具有给定列值的行?

java - 无法使用 iText Java 重命名 PDF 中的表单字段