反轉java
❶ java二進制反轉
public class BinaryReverse
{
private static String s = null;
public static void main(String[] args)
{
BinaryReverse br = new BinaryReverse();
Scanner sc = new Scanner(System.in);
byte tempbyte;
System.out.println("請輸入要反轉的數字:");
s = sc.nextLine();
tempbyte = Byte.valueOf(s);
tempbyte = br.converse(tempbyte); //開侍孫雀始反轉
System.out.println("翻反轉後十進制: " + tempbyte);
}
public Byte converse(Byte c)
{
String binaryString = null;
StringBuffer needAdd = new StringBuffer();
binaryString = Integer.toBinaryString(Math.abs(c));
System.out.println(binaryString);
if (s.startsWith("-"))
{
if (binaryString.length() < 8)
{
needAdd.append("1");
}
}
else
{
if (binaryString.length() < 8)
{
needAdd.append("0");
}
}
for (int i = 0; i < (7 - binaryString.length()); i++)
{
needAdd.append("0");
}
binaryString = needAdd.append(binaryString).toString();
System.out.println("原老早數二進制為: "凱猜 + binaryString);
String reverseString = needAdd.reverse().toString();
System.out.println("反轉後二進制為: " + reverseString);
if (s.startsWith("-"))
{
int i = 0;
for (int j =reverseString.length(),y = 0 ; j > 1 ; j--,y++)
{
i = (int) (i + Integer.valueOf(reverseString.charAt(j-1)+"")*Math.pow(2,y));
}
if (reverseString.charAt(0) == '1')
{
i = -i;
}
return (byte)i;
}
return Byte.valueOf(reverseString,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;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");
}
}
}
呀,真麻煩,本來以為一會就能寫出來呢
❸ Java中reverse()的用法
1、reverse函數反轉string
int main() {
string N;
cin>>N;
reverse(N.begin(), N.end());
cout<<N<<endl;
}
2、reverse函數反轉字元數組
int main() {
char a[101];
cin.getline(a,sizeof(a));
int m=strlen(a);
reverse(a,a+m);
puts(a);
}
(3)反轉java擴展閱讀
語法Reverse ( string )
參數string:要顛倒字元次序的字元串返回值String。函數執行成功時返回顛倒字元次序後的字元串,如果發生錯誤,那麼返回空字元串("")。用法Reverse()函數將一個字元串中最後一個字元放置到另一個字元串的第一個字元激老蠢位置、倒數第二個含祥字元放置在另一個字元串的第二個字元位置,以此類明陪推。
❹ 幾種常用的java 實現反轉的方法
1.最簡單的方法:
publicstatic扮薯Stringreverse1(Stringstr)
{
returnnewStringBuffer(str).reverse().toString();
}
2.最常用的方法:
publicstaticStringreverse3(Strings)
{
char[]array=s.toCharArray();
Stringreverse="";//注意這是空串,不是null
for(inti=array.length-廳搜者1;i>=0;i--)
reverse+=array[i];
return漏含reverse;
}
3.常用方法的變形:
publicstaticStringreverse2(Strings)
{
intlength=s.length();
Stringreverse="";//注意這是空串,不是null
for(inti=0;i<length;i++)
reverse=s.charAt(i)+reverse;//在字元串前面連接,而非常見的後面
returnreverse;
}
4.C語言中常用的方法:
publicstaticStringreverse5(Stringorig)
{
char[]s=orig.toCharArray();
intn=s.length-1;
inthalfLength=n/2;
for(inti=0;i<=halfLength;i++){
chartemp=s[i];
s[i]=s[n-i];
s[n-i]=temp;
}
returnnewString(s);//知道char數組和String相互轉化
}
❺ java中的控制反轉是什麼意思
1、用仿肆逗白話來講,就是由容器控製程序之間的關系,而非傳統實現備賣中,由程序代碼直接操控;
2、控雹棚制權由應用代碼中轉到了外部容器,控制權的轉移,是所謂反轉;
3、配置文件來描述類與類之間的關系,由容器來管理,降低了程序間的耦合度,程序的修改可以通過簡單的配置文件修改來實現。
❻ java編程,編寫方法 int reverse(int n),使其能把n反轉,例reverse(4
int變成string,string變成chararray,chararray倒序遍歷變回string
string變回int
記得判斷正負。
也可以用/10的余數取數字然後再乘10加回來
例如:
public String reverseSting(String inputString) {
char[] inputStringArray = inputString.toCharArray();
String reverseString = "";
for (int i = inputStringArray.length - 1; i >= 0; i--) {
reverseString += inputStringArray[i];
}
return reverseString;
}
(6)反轉java擴展閱讀:
JRE是個運行環境,JDK是個開發環境。因此寫Java程序的時候需要JDK,而運行Java程序的時候就需要JRE。而JDK裡面已經包含了JRE,因此只要安裝了JDK,就可以編輯Java程序,也可以正常運行Java程序。但由於JDK包含了許多與運行無關的內容,佔用的空間較大,因此運行普通的Java程序無須安裝JDK,而只需要安裝JRE即可。