當前位置:首頁 » 編程語言 » java數組反轉

java數組反轉

發布時間: 2023-07-19 11:16:21

『壹』 java 反轉數組

import java.util.*;

public class TurnChessboard
{
static void printArray(int[][] s)
{
for(int[] i:s)
{
for(int j:i)
System.out.printf("%2d",j);
System.out.println("");
}
}

static int turn(int i)
{
if(i==0)
return 1;
else
return 0;
}

public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
int m,n;
System.out.println("請輸入行數和列數(必須是奇數):");
m=in.nextInt();
n=in.nextInt();
while(m%2==0||n%2==0)
{
System.out.println("非法的輸入!請重試:");
m=in.nextInt();
n=in.nextInt();
}
int[][] cbd=new int[m][n];
int[] role=new int[m];
int[] cole=new int[n];
int count=0,tempcount=0;
int i,j;
System.out.printf("請輸入一個%d*%d棋盤:\n",m,n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
cbd[i][j]=in.nextInt();
if(m<=n)
{
for(i=0;i<m;i++)
for(j=0;j<n;j++)
role[i]+=cbd[i][j];
for(i=0;i<m;i++)
if(role[i]%2==1)
{
for(j=0;j<n;j++)
cbd[i][j]=turn(cbd[i][j]);
count++;
System.out.printf("第%d次翻轉後的棋盤(變換第%d行):\n",count,i+1);
printArray(cbd);
}
for(j=0;j<n;j++)
for(i=0;i<m;i++)
cole[j]+=cbd[i][j];
for(int t1:cole)
if(t1%2==1)
tempcount++;
if(tempcount%2==0)
{
for(j=0;j<n;j++)
if(cole[j]%2==1)
{
for(i=0;i<m;i++)
cbd[i][j]=turn(cbd[i][j]);
count++;
System.out.printf("第%d次翻轉後的棋盤(變換第%d列):\n",count,j+1);
printArray(cbd);
}
System.out.printf("\n需要進行%d次翻轉\n",count);
}
else
System.out.printf("\n不能通過有限的反轉使行或列的1的個數為偶數!\n");
}
else
{
for(j=0;j<n;j++)
for(i=0;i<m;i++)
cole[j]+=cbd[i][j];
for(j=0;j<n;j++)
if(cole[j]%2==1)
{
for(i=0;i<m;i++)
cbd[i][j]=turn(cbd[i][j]);
count++;
System.out.printf("第%d次翻轉後的棋盤(變換第%d列):\n",count,j+1);
printArray(cbd);
}
for(i=0;i<m;i++)
for(j=0;j<n;j++)
role[i]+=cbd[i][j];
for(int t2:role)
if(t2%2==1)
tempcount++;
if(tempcount%2==0)
{
for(i=0;i<m;i++)
if(role[i]%2==1)
{
for(j=0;j<n;j++)
cbd[i][j]=turn(cbd[i][j]);
count++;
System.out.printf("第%d次翻轉後的棋盤(變換第%d行):\n",count,i+1);
printArray(cbd);
}
System.out.printf("\n需要進行%d次翻轉\n",count);
}
else
System.out.printf("\n不能通過有限的翻轉使行或列的1的個數為偶數!\n");
}
}
}

呀,真麻煩,本來以為一會就能寫出來呢

熱點內容
ios資料庫遷移 發布:2025-02-08 07:00:16 瀏覽:849
安卓sdl是什麼 發布:2025-02-08 07:00:05 瀏覽:906
離線腳本怎麼寫 發布:2025-02-08 06:59:22 瀏覽:831
java學習價錢 發布:2025-02-08 06:58:39 瀏覽:955
如何用伺服器提交ms作業 發布:2025-02-08 06:58:03 瀏覽:158
c語言的列印函數 發布:2025-02-08 06:43:54 瀏覽:788
海康威視區域網訪問 發布:2025-02-08 06:41:16 瀏覽:966
html5移動端源碼下載 發布:2025-02-08 06:20:45 瀏覽:150
外網訪問黑群暉 發布:2025-02-08 05:45:59 瀏覽:562
中央存儲伺服器公司地址 發布:2025-02-08 05:38:48 瀏覽:822