JAVA是面向?qū)ο蟮恼Z言,沒有象c中指針這樣危險(xiǎn)的東西,要編這種簡單數(shù)學(xué)問題你最好用c,Pascal或者VB這樣的語言,用面向?qū)ο笳Z言解決有點(diǎn)大材小用,c你總會把,用c解決
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比蘇仙網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式蘇仙網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋蘇仙地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
#include stdio.h
void changeXy(int *x,int *y){
int *temp;
temp = x ;
x=y;
y=temp;
}
main(){
int a;
int b;
a=10;
b=8;
printf("輸出互換前手中的紙牌:");
printf("左手中的紙牌:%d",a);
printf("右手中的紙牌:%d",b);
printf("\n");
changeXy(a,b);
printf("輸出互換后手中的紙牌:");
printf("左手中的紙牌:%d",a);
printf("右手中的紙牌:%d",b);
}
也可以用java解決:
public class change{
private static int a,b;
public static void main(String args[]){
a=10;
b=8;
System.out.println("輸出互換前手中的紙牌:");
System.out.println("左手中的紙牌:"+a);
System.out.println("右手中的紙牌:"+b);
System.out.println();
changeXy();
System.out.println("輸出互換后手中的紙牌:");
System.out.println("左手中的紙牌:"+a);
System.out.println("右手中的紙牌:"+b);
}
public static void changeXy(){
int temp;
temp = a ;
a=b;
b=temp;
}
}
這個(gè)方法,里面都沒有用到數(shù)組,可見是個(gè)值傳遞,局部可見
private?static?void?swap(int?a,int?b)
{
int?temp;
temp?=?a;
a?=?b;
b?=?temp;
}
這么寫就沒錯(cuò)誤了。
你要是用swap方法,應(yīng)該多個(gè)賦值
把swap的結(jié)果,賦值給xy
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);
/*為什么在調(diào)用changeXy()方法后,a和b的值沒有發(fā)生交換*/
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對兩個(gè)整數(shù)變量的值進(jìn)行互換(不需要第三方變量)的程序如下:
方法一(加減法):
a?=?a?+?b;
b?=?a?-?b;
a?=?a?-?b;
方法二(異或運(yùn)算):
a?=?a?^?b;
b?=?a?^?b;
a?=?a?^?b;
代碼實(shí)現(xiàn)如下:
public?class?Demo?{
public?static?void?main(String?[]?args){
int?m=2,n=3;
//method_1(m,?n);
method_2(m,?n);?????
}
/**
*?使用異或^
*明白一個(gè)數(shù),如果異或同一個(gè)數(shù)兩次,那么就等于本身
*/
private?static?void?method_3(int?m,?int?n)?{
m=m^n;
n=m^n;
m=m^n;
System.out.println("m="+m+"\tn="+n);
}
/**
*?使用自身的數(shù)組,加減運(yùn)算
*/
private?static?void?method_2(int?m,?int?n)?{
m=m+n;
n=m-n;
m=m-n;
System.out.println("m="+m+"\tn="+n);
}
}
public static void main(String[] args) {
//定義輸入對象s
Scanner s=new Scanner(System.in);
System.out.print("輸入第一個(gè)數(shù)的值:\t");
int number1=s.nextInt();
System.out.print("\n輸入第二個(gè)數(shù)的值:\t");
int number2=s.nextInt();
System.out.println("number1的值:"+number1+"\t\t number2的值:"+number2);//輸出交換前內(nèi)容
//定義中間變量temp進(jìn)行交換(你小學(xué)老師問你:現(xiàn)在有紅墨水1瓶、藍(lán)墨水1瓶,要你將紅、藍(lán)兩種墨水交換瓶子,你是不是要找個(gè)空瓶子來處理)
int temp=number1;
number1=number2;
number2=temp;
System.out.println("number1的值:"+number1+"\t\t number2的值:"+number2);//輸出交后內(nèi)容
}
新聞名稱:包含java互換2個(gè)數(shù)字代碼的詞條
文章來源:http://jinyejixie.com/article28/hepejp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、移動(dòng)網(wǎng)站建設(shè)、軟件開發(fā)、網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)