我正在嘗試翻轉一個句子。 (如果句子是「我是一隻貓」,那麼結果應該是「我是我」)問題是我得到一個索引超出界限的錯誤,我不知道如何解決這個問題。不確定我的索引是否錯誤或者子串部分是否錯誤。我只是Java的初學者,所以任何幫助都非常感謝。錯誤:字符串索引超出範圍:-1java字符串索引越界錯誤
感謝
public class ReverseWords {
public static void main(String [] args){
Scanner in = new Scanner(System.in);
System.out.print("Enter File Name: ");
String fileName = in.nextLine();
File f = new File(fileName);
try {
Scanner input = new Scanner(f);
int x = 1;
int n = input.nextInt();
while (x<n) {
String line = input.nextLine();
Queue<String> q = new LinkedList<String>();
q.add(line);
int ws = line.indexOf(" ");
String word = line.substring(0,ws);
ArrayList<String> a = new ArrayList<String>();
while (line.length() > 0) {
a.add(word);
q.remove(word);
}
System.out.println("Case #" + x);
for (int i = a.size(); i != 0; i--) {
System.out.print(a.get(i));
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
你究竟在哪裏得到錯誤?在提問時試着更具體。此外,爲什麼在你的for語句中'i!= 0'而不是'i> 0'? –
說真的,你應該重新命名你的變量,以便爲將來的讀者減輕代碼的可讀性(記住你在幾天/幾周/幾月內也會成爲未來的讀者)。 –
對不起... for循環是反向讀取的,對嗎?我試圖打印反向 – XcutionX