0

これはこれまでのところ私のコードです。ほとんどの場合は機能しますが、ゼロしか表示されません。代わりにアスタリスクを表示する方法を理解できませんでした。これが、内部に何かを含む2次元配列を表示する方法を知っている唯一の方法だからです。

 import java.util.Scanner;

 public class Main {

 public static void main(String[] args) {

    int length = 0;
    int width = 0;

    Scanner input = new Scanner(System.in);

    //ask user input of array numbers
    while (length <= 20 || width <= 20) {
        System.out.print("Enter the length: ");
        length = input.nextInt();
        System.out.print("Enter the Width: ");
        width = input.nextInt();
        int[][] myarray = new int[width][length]; //To print all elements in this array  of ints,
        //loops is used to make it shorter and efficient
        for (int w = 0; w < length; w++) {
            for (int l = 0; l < width; l++) {
                System.out.print(" " + myarray[l][w]);//prints it in grid fashion
            }
            System.out.println("");
        }
    }
 }
 }
4

4 に答える 4

1

この行では、int[][] 配列の内容を出力しています。これは 0 です。

System.out.print(" " + myarray[l][w]);//prints it in grid fashion

その部分をアスタリスクに変更して、アスタリスクを印刷することができます。

于 2013-03-10T01:55:48.797 に答える
0

配列を使用する必要はありません。これが後で別の目的で配列を使用するプログラムの一部でない限り、特定の回数だけアスタリスクを出力できます。

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

    int length = 0;
    int width = 0;

    Scanner input = new Scanner(System.in);


    while (length <= 20 || width <= 20) {
        System.out.print("Enter the length: ");
        length = input.nextInt();
        System.out.print("Enter the Width: ");
        width = input.nextInt();

        for (int w = 0; w < length; w++) {
            for (int l = 0; l < width; l++) {
                System.out.print(" *");
            }
            System.out.println("");
        }
    }
}
}
于 2013-03-10T02:04:30.693 に答える
0

配列に実際にアスタリスク文字を保持させたい場合は、値2Dを保持するように配列の型を変更して、次のようにする必要があります。char

char[][] myarray = new char[width][length]; 
for (int i=0; i < myarray.length; i++) {
   Arrays.fill(myarray[i], '*');
}
于 2013-03-10T02:00:26.890 に答える
0

int 配列を string 配列に変更します

String[][] myarray = new String[width][length]; 

for (int w = 0; w < length; w++) {
    for (int l = 0; l < width; l++) {
        myarray[l][w]="*";
        System.out.print(" " + myarray[l][w]);
    }
    System.out.println("");
}
于 2014-10-14T14:33:30.893 に答える