public static void main(String[] args) {
// TODO code application logic here
Scanner in =new Scanner(System.in);
long n=in.nextLong();
int i,j,k;
//byte k;
int count=0;
String str[];
str= new String[100000];
for(i=0;i<n;i++)
str[i]=in.nextLine();
for(i=0;i<n;i++)
for(j=0;j!=i&j<n;j++)
for(k=0;str[i].charAt(k)!=-1||str[j].charAt(k)!=-1;k++)
{
if(str[i].charAt(k)!=str[j].charAt(k))
break;
else
count++;
}
System.out.print(count);
}
答えて
あなたはCの背景から来ましたか?これはJavaで文字列の最後(でもCであなたがとにかく&&
ない||
をしたいと思う)であるかどうかをチェックする方法はありません:あなたが欲しい
str[i].charAt(k)!=-1||str[j].charAt(k)!=-1
のようなものです:
k < str[i].length() && k < str[j].length()
無効なインデックスを持つ文字列のcharにアクセスしようとしているためです。
for(i=0;i<n && i < str.length;i++)
for(j=0;j!=i&j<n;j++)
for(k=0;(str[i].length() > k && str[j].length() > k) ;k++)
{
if(str[i].charAt(k)!=str[j].charAt(k))
break;
else
count++;
}
使用このコードの代わりにあなたのすべての問題が解決されます
for (i = 0; i <n; i++) {
str[i] = in.nextLine();
}
の
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
for (i = 0; i <n; i++) {
str[i] = br.readLine();
}
。
それとも、あなたは、文字列の長さをチェックすることはありませんしている。この
in.nextLine();
for (i = 0; i <n; i++) {
str[i] = in.nextLine();
}
これはなぜ問題を解決しましたか?彼はNullPointerExceptionではなくArrayOutOfBoundを取得していました! –
これは、in.nextInt()メソッドが入力(Enterキーを押した後に生成された)の最後の改行文字を消費しないためで、 "forループ"では、次回のin.nextLine 。 str [i = 0] = "\ n"であり、str [j = 0] .charAt(k = 0)にアクセスしようとすると、このエラー "java.lang。その文字列(str [j = 0])の長さが-1であるため、StringIndexOutOfBoundsExceptionが発生します。 –
- 1. このコードで何が間違っていますか?
- 2. JSoupこのコードで何が間違っていますか?
- 3. このコードで何が間違っていますか?なぜ "1"を印刷していますか?
- 4. ドロップダウンリストが表示されない、何が間違っているのですか
- 5. このコードで何が間違っていますか?
- 6. このコードで何が間違っていますか?
- 7. このコードで何が間違っていますか?
- 8. このコードで何が間違っていますか?
- 9. このregister.php PHPコードで何が間違っていますか?
- 10. このコードで何が間違っていますか?
- 11. このVBコードで何が間違っていますか?
- 12. なぜこのPythonコードが間違っていますか?
- 13. このコードで何が間違っているのかわからない
- 14. 私はPythonコードで "IndexError:list index of range"メッセージを受け取っています
- 15. PopoverのActionSheetを表示 - 何が間違っていますか?
- 16. このコードは何が間違っていますか?
- 17. PHPのテキストボックスのコードで何が間違っていますか?
- 18. 私のサイトのコードで何が間違っていますか?
- 19. 私はこのプログラムで何が間違っていますか?
- 20. なぜこのシャッフルアルゴリズムが間違っていますか?
- 21. 私のCSSコードで何が間違っていますか?
- 22. 私のコードで何が間違っていますか?
- 23. 私のコードで何が間違っていますか? Tweepy
- 24. Pythonで私のコードに何が間違っていますか?
- 25. Odoo 8私のコードで何が間違っていますか?
- 26. このコードでどこが間違っていましたか
- 27. なぜthymeleafメッセージが間違って表示されますか?
- 28. このコード行で何が問題になっていますか?なぜそれがここで機能
- 29. ここに私のコードの何が間違っています
- 30. このクエリで何が間違っているのですか
などの入力キーを押すことによって生成された新しい行をスキップする空白
を解雇することができます。なぜ*それは例外をスローしませんか? – shmosel
これをデバッグするために何をしましたか? printfのデバッグでさえも問題が発生します。ループするときにnとiの値を出力します。あなたの推測を確認するために 'length'プロパティを使うためのポイント。参照:https://ericlippert.com/2014/03/05/how-to-debug-small-programs/ – jdv
@Marvin 'n'は配列インデックスに影響を与えますが、ここではそれはすぐ問題ではありません。 – shmosel