请教一个用方法交换值的问题问题

qq_42041588 2018-04-24 09:57:02
练习代码时,写了一个方法来交换两个表力量的值,发现了一个问题;
代码是这样的:
public class textOne {
void transport(int t1,int t2) {
int t;
t=t1;
t1=t2;
t2=t;
System.out.println("方法中t1的值:"+t1);
System.out.println("方法中t2的值:"+t2);
}
public static void main(String arg[]) {
int t1=3;
int t2=7;
textOne p1=new textOne();
p1.transport(t1, t2);
System.out.println("main中t1的值:"+t1);
System.out.println("main中t2的值:"+t2);
}
}
输出
方法中t1的值:7
方法中t2的值:3
main中t1的值:3
main中t2的值:7
为什么方法不能交换main中t1,t2的值;
要怎样用方法交换main中t1,t2的值?
求教各位。
...全文
743 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
李佳楠 2018-05-08
  • 打赏
  • 举报
回复
既然没能交换main中的值,显然传递的是变量的值嘛。c里用指针,java嘛我也是刚学没几天,不过传递引用是肯定行的,或者用返回值嘛,总之办法一大堆,这属于基础的基础啊,楼主应该多看下基础。
  • 打赏
  • 举报
回复
https://blog.csdn.net/whuxinxie/article/details/54895768
  • 打赏
  • 举报
回复
public static void main(String[] args){ AtomicInteger a = 1, b = 2; swap(a,b); System.out.print("a="+ a + ", b="+ b); } void swap(Integer a, Integer b){ int temp = a.get(); a.set(b.get()); b.set(temp); }
QWERT4745 2018-04-25
  • 打赏
  • 举报
回复
值传递,不是引用传递
考拉一枚 2018-04-25
  • 打赏
  • 举报
回复
实参 形参 值传递
suxiao_mo 2018-04-25
  • 打赏
  • 举报
回复
5楼的方法很好,给个赞
扛大米的L 2018-04-25
  • 打赏
  • 举报
回复
你可以多去了解下作用域相关知识. 你的t1和t2 只是方法内部的局部变量, 你这样做相当于把传进来的参数做了交换, 跟类中的属性没有关系 如果真的想替换的话 可以试试这么做 void transport(int t1,int t2) { int t; t=t1; this.t1=t2; this.t2=t; System.out.println("方法中t1的值:"+t1); System.out.println("方法中t2的值:"+t2); } this指定你要交换的变量, 是当前类的变量,而不是方法中的变量
代码转载自:https://pan.quark.cn/s/c50a500cf555 在当今全球经济迅猛增长的背景下,通讯技术的持续进步使得个人之间的联系日益紧密,因此个人对其联系人信息的有效管理变得尤为重要。在此需求下,通讯录应运而生,各式各样的通讯录应用正不断为人们的生活带来便利。通讯录管理软件主要用于处理日常生活中的同学、朋友等联系人的信息编辑,帮助用户随时获取所需联系人的全部资料。这款通讯录管理系统操作简便,用户能够通过该系统轻松完成添加、检索、更新、移除等基本的管理任务。软件的操作界面通常可以隐藏在屏幕的边缘区域,当用户的鼠标移至该区域时,操作界面会自动显现,用户仅需输入关键词(如联系人姓名)即可快速找到所需的通讯录数据。 【Java课程设计-通讯录系统】是一款基于Java编程语言开发的个人通讯录管理工具,其目的是协助用户高效地处理和查找联系人信息。该系统是在JDK 1.7.0和NetBeans 6.9.1集成开发环境中构建的,提供了添加、检索、修改和删除联系人等核心功能,旨在为用户提供流畅的操作体验。 ### 一、需求分析 1. **基本功能**:系统需具备存储联系人姓名、电话、电子邮箱等核心数据的能力,并支持用户执行新增联系人、查找特定联系人、编辑现有联系人资料以及移除无用联系人等操作。 2. **搜索功能**:用户通过输入联系人姓名的关键字,系统能迅速定位到对应的联系人记录。 3. **界面友好**:界面设计需简洁明了,操作直观易用,软件窗口支持隐藏于屏幕边缘,并在鼠标接近时自动展示。 4. **数据保存**:系统必须实现联系人数据的持久化存储,确保程序关闭后数据不会丢失。 ### 二、任务分析 1. **主界面设计**:开发一个用户友好的主界...

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧