導航:首頁 > 編程語言 > java兩個數交換

java兩個數交換

發布時間:2022-04-28 03:24:48

㈠ 求教:java 語言是否可以用函數實現兩個數的交換

Java的函數只能有一個返回值,如果只是交換兩個數可以用數組存儲,通過下標來獲取。

public double[] change(double a,double b){
return new double[]{b,a};

}

㈡ JAVA 兩數數值交換

^=是按位異或操作(相異為真 相同為假)

a=a^b;
假設a=4 二進製表示為 0100
b=10 二進製表示為 1010
a=a^b = 1110 0x0E 14
a= 1110 b=1010
b= b^a =0100 0x04 4
a= 1110 b=0100

a=a^b = 1010 0x0A 10
a= 1010 b=0100
所以及交換了
原理就是加減法
如下
//a=4 b=10
a+=b ;
//a=14 b=10
b-=a;
//a=14 b=4
a-=b;
//a=10 b=4
完成交換

㈢ java 兩個數交換

這樣做是肯定沒有換的。在JAVA裡面沒有指針的概念,你傳過去的只不過一個引用而已,他不會改變原有的值。你把a,b定義成全局變數是能夠改變的。先弄清在JAVA中參數的傳遞到底傳的是什麼,這樣你會比較容易理解

㈣ java 兩個數的交換

public
class
change{
Integer
a;
Integer
b;
a=10;
b=8;
public
static
void
main(String
args[]){
System.out.println("輸出互換前手中的紙牌:");
System.out.println("左手中的紙牌:"+a);
System.out.println("右手中的紙牌:"+b);
System.out.println();
changeXy(a,b);
/*為什麼在調用changeXy()方法後,a和b的值沒有發生交換*/
System.out.println("輸出互換後手中的紙牌:");
System.out.println("左手中的紙牌:"+a);
System.out.println("右手中的紙牌:"+b);
}
public
static
void
changeXy(Integer
x,integer
y){
Integer
temp=null;
temp=x;
x=y;
y=temp;
}
}

㈤ java很簡單的問題,兩個數交換。。

問題很簡單,作為參數傳入的值它代表的意義和作用域已經發生改變。你改變的是參數中的兩個x,y的值,而你列印的並非這兩個值。相當於swap只是引用x,y的值給另外兩個變數在函數中進行交換值換算,並不是操作本身的x,y對象,實際它們的值並未發生任何的改變。

㈥ java如何實現2個數之間互換

利用異或(a^b)^b 等於a,進行交互,不需要設置臨時變數也不會超范圍。代碼如下:

import java.util.Scanner;

public class woo {

public static void main(String args[]) {

Scanner scan =new Scanner(System.in);

System.out.println("輸入兩個數a, b");

int a = scan.nextByte();

int b = scan.nextByte();

System.out.printf("交換前:a = %d, b = %d ", a, b);

a = a^b;

b = a^b;

a = a^b;

System.out.printf("交換後:a = %d, b = %d", a, b);

}

}

(6)java兩個數交換擴展閱讀

值傳遞就是在方法調用的時候,實參是將自己的一份拷貝賦給形參,在方法內,對該參數值的修改不影響原來實參。

引用傳遞是在方法調用的時候,實參將自己的地址傳遞給形參,此時方法內對該參數值的改變,就是對該實參的實際操作。

在java中只有一種傳遞方式,那就是值傳遞.可能比較讓人迷惑的就是java中的對象傳遞時,對形參的改變依然會意向到該對象的內容。

㈦ java如何交換a和b的值

是兩個變數的值嗎 用一個中間變數temp就行了 temp=a a=b b=temp

㈧ java如何實現2個數之間互換

這只能找一個中間變數,例如
int a = 10;
int b = 8;
中間變數:
int temp;
轉換過程:
temp = a;
a = b;
b = temp;
就可以了

㈨ java進行兩數交換時,如何不用中間量就交換

方法有很多,這里舉出兩種常用的:
方法1:使用^操作來實現
int
x
=
10;
//用二進製表示:x=0b1010;
int
y
=
15;
//用二進製表示:x=0b1111;
System.out.println("x="+x+"
y="+y);
x
=
x^y;
//x^y=
0b1010^0b1111
=
0b0101
y
=
x^y;
//x^y=
0b0101^0b1111
=
0b1010
=10
x
=
x^y;
//x^y=
0b0101^0b1010
=
0b1111
=15
System.out.println("x="+x+"
y="+y);
方法2:使用+,-操作來實現
int
x
=
10;
int
y
=
15;
System.out.println("x="+x+"
y="+y);
x
=
x+y;
//x=
10+15=25
y
=
x-y;
//y=
25-15=10
x
=
x-y;
//x=
25-10=15
System.out.println("x="+x+"
y="+y);
結果:
x=10
y=15
x=15
y=10
早期為了減少中間變數對計算機內存的佔用,採用中間的方法來交換數據。其實這種交換並不完美,如果交換的兩個數都很大,可能會內存溢出。在現在的開發中建議使用中間值來交換數值。

㈩ java!輸入兩個數並交換!謝謝!

public static void main(String[] args) {
//定義輸入對象s
Scanner s=new Scanner(System.in);
System.out.print("輸入第一個數的值:\t");
int number1=s.nextInt();
System.out.print("\n輸入第二個數的值:\t");
int number2=s.nextInt();
System.out.println("number1的值:"+number1+"\t\t number2的值:"+number2);//輸出交換前內容
//定義中間變數temp進行交換(你小學老師問你:現在有紅墨水1瓶、藍墨水1瓶,要你將紅、藍兩種墨水交換瓶子,你是不是要找個空瓶子來處理)
int temp=number1;
number1=number2;
number2=temp;
System.out.println("number1的值:"+number1+"\t\t number2的值:"+number2);//輸出交後內容
}

閱讀全文

與java兩個數交換相關的資料

熱點內容
壓縮機異音影響製冷嗎 瀏覽:711
德斯蘭壓縮機 瀏覽:490
程序員太極拳視頻 瀏覽:531
網上購買加密鎖 瀏覽:825
安卓為什麼軟體要隱私 瀏覽:83
虛擬主機管理源碼 瀏覽:811
java圖形圖像 瀏覽:230
單片機輸出口電平 瀏覽:486
java配置資料庫連接 瀏覽:479
java多態的體現 瀏覽:554
java的split分隔符 瀏覽:128
跪著敲代碼的程序員 瀏覽:238
web和php有什麼區別 瀏覽:120
加密的電梯卡怎麼復制蘋果手機 瀏覽:218
warez壓縮 瀏覽:137
黑馬程序員培訓機構官網天津 瀏覽:904
mainjavasrc 瀏覽:58
如何買伺服器挖礦 瀏覽:292
php批量上傳文件夾 瀏覽:560
安卓固件怎麼更新 瀏覽:169