Java中,先声明两个整型变量并赋值,然后将两个变量的值进行交换,求解?
注意:只能声明两个变量,不能声明第三个变量进行交换赋值。例如:inti=5;intj=6;<<<<<<<<intz=i;i=j;j=z;这样不行。...
注意:只能声明两个变量,不能声明第三个变量进行交换赋值。例如:
int i = 5;
int j = 6;
<<<<<<<<
int z = i;
i = j;
j = z;
这样不行。 展开
int i = 5;
int j = 6;
<<<<<<<<
int z = i;
i = j;
j = z;
这样不行。 展开
3个回答
展开全部
int i = 5;
int j = 6;
i = i + j; // 5 + 6 = 11
j = i - j; // 11 - 6 = 5
i = i - j; // 11 - 5 = 6
两个变量之和不超出范围就没问题
追问
如果是字符串,比如左手苹果右手香蕉,相互交换?
追答
String left = "apple";
String right = "banana;
left += right; // "applebanana";
right = left.substring(0, left.length() - right.length()); // "apple"
left = left.substring(right.length()); // "banana"
展开全部
这是很恶心的题目,不过有办法
public static void main(String[] args) {
int i = 5;
int j = 6;
System.out.println("交换前:i=" + i + ",j=" + j);
i = j + j;
j = i - j;
i = i - j;
System.out.println("交换后:i=" + i + ",j=" + j);
}
追问
如果是字符串,比如左手苹果右手香蕉,相互交换?
追答
public static void main(String[] args) {
String str1 = "a";
String str2 = "bcd";
System.out.println("交换前:str1=" + str1 + ",str2=" + str2);
str1 = str1 + str2;
str2 = str1.substring(0, str1.length() - str2.length());
str1 = str1.substring(str2.length(), str1.length());
System.out.println("交换后:str1=" + str1 + ",str2=" + str2);
}
这种问题,这样的写法,除了炫耀,没一点用,实际工作中,不会写这样的代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i = 5;
int j = 6;
i = i ^ j;
j = i ^ j;
i = i ^ j;
int j = 6;
i = i ^ j;
j = i ^ j;
i = i ^ j;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询