如何在主类中使用方法中的字符到数组?

时间:2017-01-08 04:20:24

标签: java

我是编程新手,所以我在格式化和其他方面可能会有一些错误。

我如何获得角色,'#'和'。'从我的方法checkInt到我的数组?当我运行代码时,它打印出随机整数值,但不打印转换后的整数值。 (#,。)

import java.util.Scanner;
import java.util.Random;

public class maze {

    public static void main(String[] args) {
        int[] row1;
        int[] row2;
        int[] row3;
        int[] row4;
        int[] row5;

        //set values to arrays
        row1 = new int[5];
        row2 = new int[5];
        row3 = new int[5];
        row4 = new int[5];
        row5 = new int[5];

        for (int i = 0; i < 5; i++) {
            row1[i] = checkInt();
            row2[i] = checkInt();
            row3[i] = checkInt();
            row4[i] = checkInt();
            row5[i] = checkInt();
        }
        System.out.println(java.util.Arrays.toString(row1));
        System.out.println(java.util.Arrays.toString(row2));
        System.out.println(java.util.Arrays.toString(row3));
        System.out.println(java.util.Arrays.toString(row4));
        System.out.println(java.util.Arrays.toString(row5));
    }
    public static int checkInt() {
        Random rand1 = new Random();
        int value = rand1.nextInt(100);
        if (value >= 65) {
            System.out.println("#");
        }   else {
            System.out.println(".");
        }
        return value;
    }
}

1 个答案:

答案 0 :(得分:1)

您应该将数组更改为char数组

 char[] row1 = new char[5];`

checkInt()返回char而非打印它:

public static char checkInt() {
    Random rand1 = new Random(); 
    int value = rand1.nextInt(100); 
    if (value >= 65) {
        // Note that these are single quotes because it's a char, not a String
        return '#';
    }   else {
        return '.';
    }
}

在您重新命名checkInt()时不会有任何伤害。它并没有真正检查int。有一个笑话,计算机科学有两个难题:缓存失效和命名事物