web-dev-qa-db-ja.com

個々の数字で配列する単純な数値

私はプログラミングに非常に慣れていませんが、プログラマーとしてのスキルの向上に取り組んでいます。現在、私は自分自身に与えた問題に取り組んでいます。変数番号を取得して、その各桁を配列内の個別の番号にしようとしています。私は数字の順序を気にしないので、それらが逆になっている場合、それは私には関係ありません。何度もこの質問をされていることは知っていますが、いつも私が理解できないことをたくさん使っているようです。私の学校はJavaコースを提供していないので、私は自分で学んだことしか知りません。したがって、コードで使用している非常に些細な用語を説明できれば、それは素晴らしいことです。今、私は書いています:

int number = 1234567890;
    while (number > 0) {
        System.out.println(number%10);
        number = number/10; 

これは数字を個別に印刷する場合は問題なく機能しますが、配列に数字を追加する方法がわかりません。私はあなたが与えることができるどんな助けにも大いに感謝します、そして私が小さいサイズより単純さを大いに好むことを心に留めておいてください。前もって感謝します!

P.S.同様の質問に対して私が見たいくつかの応答には、文字列の配列であると私が考えるものが含まれています。私が取り組んでいるプログラムの一部がまだ機能するためには、整数の配列を使用する必要があると思います。興味がある場合は、コードの残りの部分を使用して、配列内の数値がすべて異なるかどうかを判別し、数値の桁がすべて異なるかどうかを判別する最終結果を達成します。次のようになります。

int repeats=0;
int[] digitArray;
digitArray = new int[10];
for (int i = 0; i < digitArray.length; i++) 
    for (int j = 0; j < digitArray.length; j++)
        if ((i != j) && (digitArray[i]==digitArray[j])) unique = unique+1;
System.out.println(unique==0);
7
user2049256

メソッドnumber.toString()。length()は、桁数を返します。これは、必要な配列の長さと同じです。次に、以前と同じようにコードを使用しますが、印刷する代わりに、配列に数字を追加します。

int number = 1234567890;
int len = Integer.toString(number).length();
int[] iarray = new int[len];
for (int index = 0; index < len; index++) {
    iarray[index] = number % 10;
    number /= 10;
}
8
Max Dietz

ArrayList を使用することをお勧めします。配列を使用するには、事前にサイズを割り当てる必要があるため、の桁数を知る必要がありますあなたが知らない番号。

したがって、配列を操作し、数値を2回繰り返します。1回はサイズを見つけるため、次は実際の作業を行うためです。それ以外の場合は、ArrayListで先に進みます。

ArrayListに要素を追加するのは非常に簡単です。適切なパラメータを使用して- List#add(E) メソッドを呼び出す必要があります。

だから、ここにあなたのソリューションの拡張があります:-

// Declare a List<Integer>, since it will store integers only.
List<Integer> digits = new ArrayList<Integer>():

int number = 1234567890;
while (number > 0) {
    int digit = number % 10;  // Store digit in a variable
    number = number/10;

    // Add digit to the list
    digits.add(digit);
}

または、Listに一意の数字のみを含める場合は、HashSetを使用する必要があります。これにより、重複が自動的に削除されます。

5
Rohit Jain
_char [] arr = scan.next().toCharArray();
_

このコードはscan.next()から数値を読み取り、それをchar配列への入力として提供します。この配列のインデックスには、1桁ずつ数値が含まれます。

これがお役に立てば幸いです。

0
akay

Java 8:

Integer.toString(n).chars()。map(a-> a-'0 ')。toArray()

0