大家好,我是北鹤。很高兴又和各位见面了。
今天小编就简单带大家通过一个 用户名与密码 的案例带大家了解下面向对象中的带参数的方法传递,希望可以给刚入门的小伙伴一些灵感(喜欢不忘点赞+关注噢)
测试类代码如下:
package shili;
/**
* 测试类
*
*
*/
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//实例化对象,将 admin 的地址赋给 变量admin。
admin admin = new admin();
/**
* 更改用户名与密码
*/
System.out.println("请登录账号:");
String name = input.next();
System.out.println("请输入密码:");
int password = input.nextInt();
//把输入的用户名与密码传参到 admin 类的 admin 方法中
admin.admin(name, password);
}
}
管理员类代码如下:
package shili;
import com.sun.deploy.security.SelectableSecurityManager;
import java.util.Objects;
import java.util.Scanner;
public class admin {
//初始化用户名与密码
String name = "admin";
int passWord = 123456;
Scanner input = new Scanner(System.in);
public void admin(String name, int passWord) {
//使用 equels()判断输入的用户名与密码是否一致
/**
* 如果用户名和密码与初始化给定的相同则更新用户名与密码
*/
if ((this.name.equals(name)) && (Objects.equals(this.passWord, passWord))) {
System.out.println("请输入新的用户名与密码:");
String newName = input.next();
int newPassWord = input.nextInt();
System.out.println("更改成功,新的用户名为:" + newName + ",新的密码为:" + newPassWord);
}
//如果用户名或者密码中有一个输入与初始化给定的不一样,则重新输入
while (!(this.name.equals(name)) || !(Objects.equals(this.passWord, passWord))) {
System.out.println("输入错误!请重新输入登陆账号!");
String nname = input.next();
int ppassWord = input.nextInt();
/**
* 再次判断输入内容与给定的初始化值是否一致,一致则进行新用户名与密码的更改
*/
if ((this.name.equals(nname)) && (Objects.equals(this.passWord, ppassWord))) {
System.out.println("登录成功!请输入新用户名与密码:");
String namee = input.next();
int password = input.nextInt();
System.out.println("更改成功,新的用户名为:" + namee + ",新的密码为:" + password);
break;
}
/*
如果用户名或密码一直输入错误,则可以手动退出循环
*/
int n;
System.out.println("账号或密码错误,退出请按3,输入其它数字则重新登录:");
n = input.nextInt();
if (n == 3) {
break;
} else {
continue;
}
}
}
}
运行的3种情况结果如下:
一次性输入账号和密码登录成功
多次输入用户名和密码登录成功
忘记用户名或密码手动退出
如果还有哪些地方小编写得不明白的欢迎留言与私信噢。关注北鹤,与你一同成长!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)