JAVA是面向對象的語言,沒有象c中指針這樣危險的東西,要編這種簡單數學問題你最好用c,Pascal或者VB這樣的語言,用面向對象語言解決有點大材小用,c你總會把,用c解決
創新互聯建站-專業網站定制、快速模板網站建設、高性價比蘇仙網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式蘇仙網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋蘇仙地區。費用合理售后完善,10年實體公司更值得信賴。
#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;
}
}
這個方法,里面都沒有用到數組,可見是個值傳遞,局部可見
private?static?void?swap(int?a,int?b)
{
int?temp;
temp?=?a;
a?=?b;
b?=?temp;
}
這么寫就沒錯誤了。
你要是用swap方法,應該多個賦值
把swap的結果,賦值給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);
/*為什么在調用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對兩個整數變量的值進行互換(不需要第三方變量)的程序如下:
方法一(加減法):
a?=?a?+?b;
b?=?a?-?b;
a?=?a?-?b;
方法二(異或運算):
a?=?a?^?b;
b?=?a?^?b;
a?=?a?^?b;
代碼實現如下:
public?class?Demo?{
public?static?void?main(String?[]?args){
int?m=2,n=3;
//method_1(m,?n);
method_2(m,?n);?????
}
/**
*?使用異或^
*明白一個數,如果異或同一個數兩次,那么就等于本身
*/
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);
}
/**
*?使用自身的數組,加減運算
*/
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("輸入第一個數的值:\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互換2個數字代碼的詞條
文章來源:http://vcdvsql.cn/article28/hepejp.html
成都網站建設公司_創新互聯,為您提供定制開發、移動網站建設、軟件開發、網站建設、標簽優化、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯