
正文
两数交换代码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;
}
}
相关问答
Q1: java 交换数组中的两个数。
这个方法两数交换代码java,里面都没有用到数组两数交换代码java,可见是个值传递两数交换代码java,局部可见
private static void swap(int a,int b)
{
int temp;
temp = a;
a = b;
b = temp;
}
Q2: 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\n", a, b);
a = a^b;
b = a^b;
a = a^b;
System.out.printf("交换后:a = %d, b = %d", a, b);
}
}
扩展资料:
值传递就是在方法调用的时候,实参是将自己的一份拷贝赋给形参,在方法内,对该参数值的修改不影响原来实参。
引用传递是在方法调用的时候,实参将自己的地址传递给形参,此时方法内对该参数值的改变,就是对该实参的实际操作。
在java中只有一种传递方式,那就是值传递.可能比较让人迷惑的就是java中的对象传递时,对形参的改变依然会意向到该对象的内容。
参考资料:
百度百科——参数传递
Q3: 交换两个数的值(用JAVA编写)
基本类型无法按引用传递,详见『ヤ;搁[浅灬メ』的解释,我只提供一种实现方案,一定要用函数调用来实现的话,可以传个数组过去
import java.io.*;
public class Compare
{
public static void change(int[] a) throws Exception
{
int temp=0;
temp=a[0];a[0]=a[1];a[1]=temp;
}
public static void main(String args[]) throws Exception
{
int[] a = new int[2];
System.out.println("输入a:");
InputStreamReader inreader=new InputStreamReader(System.in);
BufferedReader breader=new BufferedReader(inreader);
a[0]=Integer.parseInt(breader.readLine());
System.out.println("输入b:");
a[1]=Integer.parseInt(breader.readLine());
System.out.println("交换前a="+a[0]+" 交换前b="+a[1]);
change(a);
System.out.println("交换后a="+a[0]+" 交换后b="+a[1]);
}
}
Q4: 【新手求教】 java 想交换两个数的值,用函数该怎么写?
这么写就没错误了。
你要是用swap方法,应该多个赋值
把swap的结果,赋值给xy
Q5: java 两个数交换
JAVA是面向对象的语言,没有象c中指针这样危险的东西,要编这种简单数学问题你最好用c,Pascal或者VB这样的语言,用面向对象语言解决有点大材小用,c你总会把,用c解决
#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;
}
}
关于两数交换代码java和两数交换代码怎么写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








