[英]sorting string to alphabetical order
您好,我想按字母順序獲取這些結果,有人可以幫忙,因為當我嘗試運行該程序時,它關閉並說NullPointer Exception java Lang,但是它編譯沒有問題,我認為問題與.compareTo行有關,我不太確定
import java.io.*;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Write a description of class rigthOrder here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class rigthOrder
{
public static void main (String args []) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int i;
String fruit [] = new String[1000];
List<String> fruitsList = Arrays.asList (fruit);
fruit[0] = "orange";
fruit[1] = "bananna";
fruit[2] = "apple";
fruit[3] = "grape";
fruit[4] = "plum";
// for(i = 0; i < fruit.length; i++)
{
// fruit [i] = fruit [i].toUpperCase();
}
Bubble_sort(fruit);
for(i = 0; i < fruit.length; i++)
{
System.out.println(fruit [i]);
}
}
public static void Bubble_sort(String [] fruit)
{
int i, j, size = fruit.length;
String temp;
for(i = 0; i < size-1; i++)
{
for(j = i + 1; j < size; j++)
{
if (fruit[j].compareTo (fruit[i]) < 0)
{
temp = fruit[i];
fruit[i] = fruit [j];
fruit[j] = temp;
}
}
}
}
}
String fruit[] = new String[1000];
String
數組元素的默認值為null
。 這就是為什么Arrays.asList(fruit)
拋出NPE的原因。
您制作了一個由1000個元素組成的數組,僅填充了其中5個。
String fruit [] = new String[1000];
將此數組設置為適當的長度,它將停止失敗。
您正在聲明大小為1000的數組
String fruit [] = new String[1000];
然后填充這1000個插槽中的五個
fruit[0] = "orange";
fruit[1] = "bananna";
fruit[2] = "apple";
fruit[3] = "grape";
fruit[4] = "plum";
其余是什么?
String fruit [] = new String[5];
這將解決您的問題。
除了其余答案外,您還可以以靜態方式聲明數組:
String[] fruit = new String[] {"orange", "bananna", "apple", "grape", "plum"}
這樣就可以自動計算大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.