我需要以类似彩虹的方式显示颜色矩阵。 我找到了正确的方法来画画"在system.out中。
矩阵应填充" 0"。那些" 0"应该有颜色的那些。
但是我没有想到如何实现打印彩虹的方法。 这是我需要的图像: http://i.imgur.com/taulntW.png
有什么想法吗?
谢谢!
PD: 我设法做到这一点,但我认为更多的数字和视觉上友好的数字#34; 此代码将使用数字填充矩阵,外部环将具有" 1",第二个环将具有" 2",第3个环将具有" 3" .. .. 等等。 这是代码:
int counter = mat.length;
for (int i = 0; i < mat.length - 1; i++) {
for (int j = i; j < counter; j++) {
for (int k = i; k < counter; k++) {
mat[j][k] += 1;
}
}
counter--;
}
答案 0 :(得分:1)
如果您想要的是这样的输出:
0000000
0111110
0122210
0123210
0122210
0111110
0000000
您可以使用嵌套循环执行此操作。我没有过多的循环条件语句就做到了。你可以这样做:
int r = 7;
int c = 7;
int[][] matrix = new int[r][c];
for(int x=0; x<=r; x++)
for(int y=0; y<r-x; y++){
matrix[x][y] = Math.min(x, y); //Update 1st diagonal half of the matrix
matrix[r-x-1][c-y-1] = matrix[x][y]; //Update the next half (follow 1st half)
}
这可能是最快的方法之一。我们只需要遍历一半的元素,并且不需要条件语句。最重要的是,您可以对彩色数组应用相同的概念。
答案 1 :(得分:0)
真的取决于矩阵有多大。您可以制作循环和广告条件子句。基本上编程中的矩阵将是二维数组。在java中:
int[][] arr= new int [5][5];
这将创建一个5乘5的矩阵,您可以使用内部for循环填充
for(int i =0; i < 5; i++){
for(int a =0; a< 5 ; a++){
arr[i][a] = something;
}
}