小简(JanYork) 2021-10-15 11:51 采纳率: 88.9%
浏览 97
已结题

Java中如和将一个类中方法的局部变量在另一个方法中调用

我在会员类中创建多个方法,使用对象进行数值控制台输入
我想在会员类的验证方法中进行上面两个方法的数据比较,作为验证
这是问题代码

 if (my_.password==my.password&&my_.AdminName.equals(my.AdminName)&&my_.num==my.num){
                        System.out.println("登录成功");
                }else{
                        System.out.println("密码、账号或会员号错误!");
                }

但是局部变量无法更改和调用,怎么样可以调用到另一个方法??
会员类代码

import java.util.Random;
import java.util.Scanner;

/**
 * @author woo-m
 * 会员类
 */
public class Admin {
        String AdminName = null;
        String password = null;
        int num = 0;

        //注册方法

        public static void User(){
                Scanner x = new Scanner(System.in);
                Admin my = new Admin();
                System.out.print("user:");
                my.AdminName = x.next();
                System.out.print("password:");
                my.password = x.next();
        }

        //返回方法

        public static void Admins(){
                Admin my = new Admin();
                Random random=new Random();
                my.num=random.nextInt(99999)+100000;
                System.out.println("注册成功,你的会员卡号:"+my.num);
        }

        //登录方法

        public static void Log_in(){
                Admin my_ = new Admin();
                int vip = 0;
                Scanner x = new Scanner(System.in);
                System.out.print("Your User:");
                my_.AdminName = x.next();
                System.out.print("Your Password:");
                my_.password = x.next();
                System.out.print("会员号:");
                my_.num = x.nextInt();
        }

        //验证方法

        public static void verify(){
                Admin my = new Admin();
                Admin my_ = new Admin();
                if (my_.password==my.password&&my_.AdminName.equals(my.AdminName)&&my_.num==my.num){
                        System.out.println("登录成功");
                }else{
                        System.out.println("密码、账号或会员号错误!");
                }
        }
}

程序入口代码

import java.util.Scanner;
/**
 * @author woo-m
 * 幸运抽奖系统
 */
public class Luck {
    public static void main(String[] args) {
        Scanner x = new Scanner(System.in);
        int menu = 0;
        //注册循环环节
        do {
            System.out.println("1.注册");
            System.out.println("2.登录");
            System.out.println("3.抽奖");
            System.out.print("输入菜单:");
            menu = x.nextInt();
            switch (menu){
                case 1:
                    break;
                case 2:
                    System.out.println("-----你还未注册哦!-----");
                    continue;
                case 3:
                    System.out.println("-----请先登录!-----");
                    continue;
                default:
                    System.out.println("-----参数错误!-----");
                    continue;
            }
            break;
        }while (true);
        //new Admin类 对象
        Admin user = new Admin();
        //调用注册方法
        Admin.User();
        //调用返回会员卡号方法
        Admin.Admins();
        //调用登录方法
        System.out.println("-----欢迎登录-----");
        Admin.Log_in();
        Admin.verify();
    }
}


  • 写回答

2条回答 默认 最新

  • zlebhs 2021-10-15 12:20
    关注

    Admin类里的方法写的太离谱了。

    1. public static void User();这个方法,应该得有个返回值吧?不然你的my怎么获取到呢?或者在定义一个类变量来存储my
    2. public static void Admins();这个方法同上
    3. public static void Log_in();这个方法,应该得有个参数传入吧?怎么会是new一个呢?
    4. public static void verify(); 这个方法同上,应该是两个参数。。。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月23日
  • 已采纳回答 10月15日
  • 创建了问题 10月15日

悬赏问题

  • ¥15 (标签-STM32|关键词-智能小车)
  • ¥20 关于#stm32#的问题,请各位专家解答!
  • ¥15 (标签-python)
  • ¥20 搭建awx,试了很多版本都有错
  • ¥15 java corba的客户端该如何指定使用本地某个固定IP去连接服务端?
  • ¥15 activiti工作流问题,求解答
  • ¥15 有人写过RPA后台管理系统么?
  • ¥15 Bioage计算生物学年龄
  • ¥20 如何将FPGA Alveo U50恢复原来出厂设置哇?
  • ¥50 cocos2d-x lua 在mac上接入lua protobuf?