私はC++で短い文字列リバースプログラムを書いています。私はJavaで記述することにしました。しかし、プログラムの作成が完了したら、修正しようとしたが修正できないいくつかのエラーが発生しました。エラーの1つはArrayOutOfBounds例外でした。エラーを修正するのを手伝ってください。 C++プログラムは正常に動作しました。以下はJavaコードです。私は組み込み関数を使用したくないことに注意してください。リバース文字列プログラム
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String word;
int i = 0;
boolean inp = true;
System.out.println("Enter one or more words to be reversed:");
word = scan.nextLine();
char wordArray[] = word.toCharArray();
while(wordArray[i]!='\0')
i++;
while(inp == true){
i--;
System.out.println(wordArray[i]);
if(i==0){
System.out.println();
break;
}
}
}
}
length()メソッドを使用して、文字列の長さを見つけることができます。 –
ところで、あなたの文字列の完全性を気にするのであれば、それほど簡単ではありません。それらの隣にある文字と融合した "結合文字"があり、charが後に来る文字列の変化を盲目的に逆転させます。 http://msmvps.com/blogs/jon_skeet/archive/2009/11/02/omg-ponies-aka-humanity-epic-fail.aspx(そして "Les Miserables"を検索)を見て、私が私は話しています。 – cHao