-3

私のプログラムでは、変数の数を単語の文字数と等しくしたいと考えています。これは私が試したことです:

import java.util.*;
public class CountString {
public static void main(String args[]){
    String w;
    Scanner raj = new Scanner(System.in);
    System.out.print("Word? ");
    w=raj.next();
    for(int i=0; i<w.length(); i++){
        int k_i=1;
    }
    for(int i=0; i<w.length(); i++){
        System.out.print(k_i);
    }

}

}

k_i を変数に解決できないというエラーが表示されます。指定した方法で変数を作成するにはどうすればよいですか? そして、すべての k_i の最大値を出力したいとします...どうすればそれを行うことができますか?

4

6 に答える 6

2

を使用しArrayList<Integer>て値を保持します。forループを使用してループし、スキャンした値を出力します。

于 2012-08-17T03:46:22.050 に答える
2

ペアMapを保存するためにを作成できます。key-value

Map<String,Integer> map=new HashMap<String,Integer>();
于 2012-08-17T03:46:53.417 に答える
2

問題の核心は、変数を動的に定義しようとしていることです。一部の言語はこの種のことをサポートしていますが、Javaはサポートしていません。それは決してありません、そしてそれは決してありません。

したがって、あなたはあなたがやろうとしていることをする別の方法を見つける必要があります。たとえば、以下は、例を実際のJavaに直訳したものです。

w = raj.next();
int k[] = new int[w.length()];
for(int i = 0; i < k.length; i++){
    k[i] = 1;
}
for(int i = 0; i < l.length; i++){
    System.out.print(k[i]);
}

そして、すべてのk_iの最大値を印刷したいと言います...どうすればよいですか?

k [i]を繰り返して、最大のものを探します。


あなたはプログラミング全般、特にJavaプログラミングに不慣れであるという印象を受けます。地元の書店に行って、Javaでのプログラミングに関する入門書を購入することをお勧めします。OracleのWebサイトにアクセスしてJavaチュートリアルを実行することもできますが、プログラミングの方法をすでに知っている人を対象としています。

于 2012-08-17T03:52:59.217 に答える
0

代わりに、各整数をプッシュしArrayListます。次に、forループを使用してリストを反復処理し、Collections.maxメソッドを使用して、格納されている値の最大値を見つけることができます。

于 2012-08-17T03:46:24.450 に答える
0

私が得るエラーは、k_iを変数に解決できないことです。指定された方法で変数を作成するにはどうすればよいですか?

k_iの存続期間はループで終了し、ループの外側で宣言して、メインスコープで定義が有効なままになるようにします。

そして、すべてのk_iの最大値を印刷したいと言います...どうすればよいですか?

int k_i=0;
for(int i=0; i<w.length(); i++)
{ 
       k_i= k_i<i?i:k_i;     
} 

そして、私はあなたの要件の残りを理解していません!!!

于 2012-08-17T03:47:03.983 に答える
0

charsJavaの文字が必要です。

これを試して:

char[] letters = new char[w.length()];
for (int i = 0; i < w.length(); i++){
    letters[i] = w.charAt(i);
}
于 2012-08-17T03:54:07.013 に答える