BlazinHz 2022-03-08 20:47 采纳率: 100%
浏览 35
已结题

java编写一个类,里面包含学号,学生姓名两个属性,再编写一个静态函数,可交换两人信息。

java编写一个类,里面包含学号,学生姓名两个属性,再编写一个静态函数,可交换两人信息。

  • 写回答

4条回答 默认 最新

  • radium0028 2022-03-08 21:28
    关注

    封装类呢?多少个属性都能交换。

    
    package org.example;
    
    public class Student {
        public String name;
        public String no;
    
        public static void swap(StudentWrapper s1, StudentWrapper s2){
            Student temp = s1.student;
            s1.student = s2.student;
            s2.student = temp;
        }
    
        public static void main(String[] args) {
            Student s1 = new Student();
            Student s2 = new Student();
            s1.setName("张三");
            s1.setNo("1");
            s2.setName("李四");
            s2.setNo("2");
            StudentWrapper sw1 = new StudentWrapper(s1);
            StudentWrapper sw2 = new StudentWrapper(s2);
            System.out.println("======转换前======");
            System.out.println("s1.getName() = " + sw1.student.getName());
            System.out.println("s1.getNo() = " + sw1.student.getNo());
            System.out.println("s2.getName() = " + sw2.student.getName());
            System.out.println("s2.getNo() = " + sw2.student.getNo());
            Student.swap(sw1,sw2);
            System.out.println("======转换后======");
            System.out.println("s1.getName() = " + sw1.student.getName());
            System.out.println("s1.getNo() = " + sw1.student.getNo());
            System.out.println("s2.getName() = " + sw2.student.getName());
            System.out.println("s2.getNo() = " + sw2.student.getNo());
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getNo() {
            return no;
        }
    
        public void setNo(String no) {
            this.no = no;
        }
    
        static class StudentWrapper{
            Student student;
            StudentWrapper(Student student){
                this.student = student;
            }
        }
    }
    

    输出结果:

    ======转换前======
    s1.getName() = 张三
    s1.getNo() = 1
    s2.getName() = 李四
    s2.getNo() = 2
    ======转换后======
    s1.getName() = 李四
    s1.getNo() = 2
    s2.getName() = 张三
    s2.getNo() = 1
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 创建了问题 3月8日

悬赏问题

  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题