「java反转题」JAVA反转题
本篇文章给大家谈谈java反转题,以及JAVA反转题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java数组反转及可变长度问题
应该是你太想当然了。前后交换是没错,但是你循环次数有误。应该是循环 (arr.length+1)/2 ,当然后面的交换赋值也要改
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;im;i++)
for(j=0;jn;j++)
cbd[i][j]=in.nextInt();
if(m=n)
{
for(i=0;im;i++)
for(j=0;jn;j++)
role[i]+=cbd[i][j];
for(i=0;im;i++)
if(role[i]%2==1)
{
for(j=0;jn;j++)
cbd[i][j]=turn(cbd[i][j]);
count++;
System.out.printf("第%d次翻转后的棋盘(变换第%d行):\n",count,i+1);
printArray(cbd);
}
for(j=0;jn;j++)
for(i=0;im;i++)
cole[j]+=cbd[i][j];
for(int t1:cole)
if(t1%2==1)
tempcount++;
if(tempcount%2==0)
{
for(j=0;jn;j++)
if(cole[j]%2==1)
{
for(i=0;im;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;jn;j++)
for(i=0;im;i++)
cole[j]+=cbd[i][j];
for(j=0;jn;j++)
if(cole[j]%2==1)
{
for(i=0;im;i++)
cbd[i][j]=turn(cbd[i][j]);
count++;
System.out.printf("第%d次翻转后的棋盘(变换第%d列):\n",count,j+1);
printArray(cbd);
}
for(i=0;im;i++)
for(j=0;jn;j++)
role[i]+=cbd[i][j];
for(int t2:role)
if(t2%2==1)
tempcount++;
if(tempcount%2==0)
{
for(i=0;im;i++)
if(role[i]%2==1)
{
for(j=0;jn;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");
}
}
}
呀,真麻烦,本来以为一会就能写出来呢
java字符串反转问题
System.out.println(s2.charAt(i));
这行出问题了,应该是System.out.print(s1.charAt(i));// s2为空,获取它的第N个字符当然会出问题了。
而且for 循环也有问题
for (int i = s1.length() - 1; i = 0; i--)
{
System.out.print(s1.charAt(i));
}
关于java反转题和JAVA反转题的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。