我創建了一個程式來生成0和1的交替方塊,但它沒有顯示出預期的輸出。請幫助我。
import java.util.Scanner;
public class LEDLights {
public static void main(String[] args) {
int size;
System.out.println("輸入一個陣列的大小:")。
Scanner sc=new Scanner(System.in);
size=sc.nextInt()。
System.out.println("輸入陣列元素:")。
int myarr[][]=new int[size][size];
for(int i = 0; i < size; i )
{
for(int j = 0; j < size; j )
{
myarr[i][j]=sc.nextInt()。
}
}
System.out.println("燈的狀態")。
for(int i = 0; i < size; i )
{
for(int j = 0; j < size; j )
{
System.out.print( myarr[i][j] " ") 。
}
System.out.println()。
}
//int n=5。
//列印外回圈
for(int i = 0; i < size; i )
{
for(int j = 0; j < size; j )
{
if(i==0 || i==size-1 || j==0 || j==size-1)
myarr[i][j]=1。
}
}
// 1的內回圈
// int p=size。
for(int p=size-3;p>=size/2;p-=2) {
for(int t =2; t <=size/2; t =2)
{
// int p=size-3;
//while(p>=size/2) {
for(int i = t; i <=p; i )
{
for(int j = t; j <=p; j )
{
如果(i==t || i==p || j==t || j==p)
myarr[i][j]=1。
}
}
}
//p-=2;
}
// 0的內回圈
for(int k =1 ; k <size/2; k =2)
{
for(int p=size-2;p>size/2;p-=2) {
for(int i = k; i <=p; i )
{
for(int j = k; j <=p; j )
{
如果(i==k || i==p || j==k || j==p)
myarr[i][j]=0。
}
}
}
}
System.out.println("LED燈在閃爍
");
for(int i = 0; i < size; i )
{
for(int j = 0; j < size; j )
{
System.out.print( myarr[i][j] " ") 。
}
System.out.println()。
}
}
}
8*8的預期輸出
1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 0 1 1 1 1 0 1
1 0 1 0 0 1 0 1
1 0 1 0 0 1 0 1
1 0 1 1 1 1 0 1
1 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1
uj5u.com熱心網友回復:
import java.util.Scanner;
class LEDLights {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("輸入一個陣列的大小:")。
int size = sc.nextInt();
System.out.println("輸入光的外部狀態。 要么0要么1")。
int startPoint = sc.nextInt();
int[][] myarr = new int[size][size];
myarr = updateArr(myarr, 0, size, startPoint);
for (int i = 0; i < size; i ) {
for (int j = 0; j < size; j )
System.out.print(myarr[i][j] " ")。
System.out.println()。
}
}
private static int[] [] updateArr(int[] [] myarr, int startsize, int endsize, int startPoint) {
if (startsize > endsize)
回傳myarr。
for (int i = startsize; i < endsize; i )
for (int j = startsize; j < endsize; j )
myarr[i][j] = startPoint。
return updateArr(myarr, startsize 1, endsize - 1, (startPoint == 0) ? 1 : 0);
}
}
這給了你一個備用的代碼,但會做更多的迭代
。轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/332259.html
標籤:
