概述
方法:
1.方法的定义
[访问修饰符 修饰符] 方法返回类型 方法名(形参列表) {方法体;}
public private default(没有修饰符) protected
static
返回类型:无返回值void,有返回值的 任何数据类型
void可以有return;
public static void sum(){
System.out.print(nums);
return; //表示方法结束
}
如果方法有返回值,那么必须有return 返回值
方法的返回类型>=方法返回值类型 ??
public static float sum(){
return 1+2;
}
public static int[] f(){ return new int[1]);
形参列表:多个参数用,分开
public static int sum(int x,int y){
return x+y;
}
方法体:就是方法完成的功能代码
2.方法的调用
方法名(实参列表)
sum(22,33)
3.方法重载
同一个类(继承关系)
方法名相同,参数列表不同(参数个数,类型,顺序)
和方法的返回类型无关
public void f(int x){}
public int f(int y){return 1;}
public void f(int x,int y){return x+y;}
一个类中同名方法不是重载便错
4.值传递
如果基本数据类型,方法内改变,原值不变
如果是地址(数组),地址不变,数据发生变化,原值也发生变化
public static void f(int n){
n = 3;
}
public static void f2(int [] a){
a[0]=9;
}
public static void f3(int [] a1){
a1 = new int[5];
a1[0]=9;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 5;
f(n);
System.out.println(n);//? 5
int a[] = {1,2,3,4,5};
f2(a);
System.out.println(a[0]); //? 9
int[] a1= {1,2,3,4,5};
f3(a1);
System.out.println(a1[0]); //? 1
}
模拟注册功能
1.使用数组存储个人信息;
2.register(String id,String name,String pwd,String email):void;
3.check(String name,String pwd):boolean
4.updateInfo(String name,String email):void
5.updatePwd(String newPwd):void
main方法
1.注册
2.登录
0.退出系统
登陆成功之后,进入用户管理
1.修改个人信息
2.修改密码
0.返回上一级菜单
代码如下:
public class DemoShop {
//定义存储用户信息的数组
static String arrId[] = {} ;
static String arrName[] = {};
static String arrPw[] = {};
static String arrEmail[] = {};
static int loginIndex = -1;
//用户注册
public static void register(String id,String name,
String pw,String email){
//{1,2}
//{张三,李四}
//{1111,2222}
//{zs@tedu.cn,li@tedu.cn}
//数组的扩容
arrId = Arrays.copyOf(arrId, arrId.length+1);
arrName = Arrays.copyOf(arrName, arrName.length+1);
arrPw = Arrays.copyOf(arrPw, arrPw.length+1);
arrEmail = Arrays.copyOf(arrEmail, arrEmail.length+1);
//注册用户
arrId[arrId.length-1] = id;
arrName[arrName.length-1] = name;
arrPw[arrPw.length-1] = pw;
arrEmail[arrEmail.length-1] = email;
}
//测试注册是否成功
public static void showInfo(){
for(int i =0;i<arrId.length;i++){
System.out.println(arrId[i]+arrName[i]+arrPw[i]+arrEmail[i]);
}
}
//验证用户名和密码 3次
public static boolean check(String name,String pw){
int flag = 0;//表示没用用户名或密码
for(int i = 0; i < arrName.length;i++){
if(arrName[i].equals(name)&&arrPw[i].equals(pw)){
//flag = 1;
//存储登录用户的下标
loginIndex = i;
return true;
}
}
return false;
/*if(flag == 1){
return true;
}else{
return false;
}*/
}
//修改个人信息
public static void updateInfo(String name,String email){
arrName[loginIndex] = name;
arrEmail[loginIndex] = email;
}
//修改密码
public static void updatePw(String newPw){
arrPw[loginIndex] = newPw;
}
public static void main(String[] args) {
//欢迎页面信息
System.out.println("-------欢迎进入客户管理模块-------");
//接收键盘输入
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("1 注册");
System.out.println("2 登录");
System.out.println("0 退出系统");
System.out.println("请输入编号:");
int num = sc.nextInt();
switch(num){
case 1:
System.out.println("请输入客户编号:");
String id = sc.next();
System.out.println("请输入客户姓名:");
String name = sc.next();
System.out.println("请输入客户密码:");
String pw = sc.next();
System.out.println("请输入客户邮箱:");
String email = sc.next();
register(id,name,pw,email);
System.out.println("注册成功!");
showInfo();
break;
case 2:
int count = 0;
do{
//密码超过3次退出系统
if(count==3){
System.out.println("超过3次,退出系统");
System.exit(0);
}
System.out.println();
System.out.println("请输入客户姓名:");
name = sc.next();
System.out.println("请输入客户密码:");
pw = sc.next();
count++;
}while(!check(name,pw));
System.out.println("");
System.out.println("1 修改个人信息");
System.out.println("2 修改密码");
System.out.println("0 返回上一级菜单");
System.out.println("请输入编号:");
num = sc.nextInt();
switch(num){
case 1:
System.out.println("请输入客户姓名:");
name = sc.next();
System.out.println("请输入客户邮箱:");
email = sc.next();
updateInfo(name,email);
showInfo();
break;
case 2:
System.out.println("请输入原密码:");
String oldPw = sc.next();
System.out.println("请输入新密码:");
String newPw = sc.next();
System.out.println("请确认新密码:");
String confirmPw = sc.next();
updatePw(newPw);
System.out.println("修改密码成功!");
break;
case 0:
break;
}
break;
case 0:
//退出运行环境
System.exit(0);
}
}
}
}
最后
以上就是长情汉堡为你收集整理的Java 方法的参数传递机制及简单模拟注册功能的全部内容,希望文章能够帮你解决Java 方法的参数传递机制及简单模拟注册功能所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复