JAVA:模拟提交JAVA作业

发现几个问题:

  • 带参方法并非任何时候都好用
  • 使用this引用会导致错误
  • 利用了局部变量的一些好处(例如:index,index1)

运行效果图:

模拟提交JAVA作业运行截图
image-1350

参考代码1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package cn.puruidong.accp_15;
/**
 * @author PuRuidong
 *
 */
import java.util.Scanner;
public class Test5 {
   
    public String name ; //名字
    private String pre ; //密码
    private String newname ; //验证名字
    private String newpre ; //验证密码
    private String mail ; //邮箱
    private String file ; //java文件名
    private boolean loginzhi ;//登录验证
    private int index ; //indexOf方法定义
    private int index1 ; //lastIndexOf方法定义
    private Scanner sc = new Scanner (System.in);
   
   
    public String inname (){
        System.out.println("********注册系统*********");
        boolean namezhi = false ;//定义循环
        do {
            System.out.println("请输入用户名(长度不小于5位):");
            name = sc.next(); //录入用户名
            if (name.length()<5){
                System.out.println("用户名长度必须大于5位.");
                System.out.println("请重新录入!");
                namezhi = true ;
                continue ;
            } else{
                namezhi = false;
            }
        } while (namezhi!=false);
        return name ; //返回用户名
    }
   
    public String inpre (){
        boolean prezhi = false ;
        do {
            System.out.println("请输入密码不小于6位,并且必须包含小写字母:java):");
            pre = sc.next(); //录入密码
            index= pre.indexOf("java");
            if (pre.length()<6||index==-1){ //密码长度小于6,或者没有在密码中找到java字样则重复录入
                System.out.println("密码长度必须大于6位!或者密码中不包含java!");
                System.out.println("请重新录入!");
                System.out.println();
                prezhi = true ;
            } else {
                prezhi = false ;
            }
        } while (prezhi!=false);
        return pre ; //返回密码
    }
   
    public String inmail (){
        this.mail=mail;
        boolean mailzhi = false ;
        do {
            System.out.println("请输入邮箱:");
            mail = sc.next(); //录入邮箱
            index = mail.indexOf("@");
            index1 = mail.lastIndexOf(".");
            if (index1==-1||index==0||index==-1||index>index1||(index+1==index1)){ //判断.是否在@的后面
                System.out.println("对不起,邮箱格式输入错误!");
                System.out.println("请重新录入!");
                System.out.println();
                mailzhi = true ;
            } else {
                mailzhi = false ;
            }
           
        } while (mailzhi!=false);
        return mail ; //返回邮箱
    }
   
    public boolean login (boolean loginzhi){
        System.out.println("********登录系统*********");
        loginzhi = false ;
        for (int i=4;i>0;i--){
            System.out.println("请输入用户名(用户名与密码均忽略大小写):");
            newname = sc.next();//验证用户名
            System.out.println("请输入密码:");
            newpre = sc.next(); //验证密码
            if (newname.equalsIgnoreCase(name)&&newpre.equalsIgnoreCase(pre)){
                //验证用户名与原用户名是否相等,或者邮箱与原邮箱是否相等,验证密码
                System.out.println("恭喜,登录成功!");
                System.out.println("");
                loginzhi = true ; //登录成功标记
                break ;
            } else {
                System.out.println("抱歉,输入错误!");
                System.out.println("您还有"+(i-1)+"次输入机会!");
                loginzhi = false ;//登录失败标记
            }
        }
        if (loginzhi==false){  //一旦登录失败将退出程序,不再执行下方的部分
            System.out.println("登录失败,程序退出,谢谢使用!");
            System.exit(0); //退出程序
        }
        return loginzhi ;
    }
   
    public String infile (){
            for (int i=4;i>0;i--){
                System.out.println("请输入java文件名:");
                file = sc.next(); //录入文件名
                index = file.indexOf("."); //检查.的位置
                index1 = file.lastIndexOf("java"); //检查java所在的位置
                if (index==-1||index==0||index1==-1||index1<index){
                    System.out.println("抱歉文件名录入错误,请检查!");
                    continue ;
                } else {
                    System.out.println("恭喜,提交成功!");
                    break;
                }
            }
        return file ;
    }
   
    public void show (){
            System.out.println("您录入的信息是:");
            System.out.println("*******************************");
            System.out.println("用户名:"+name);
            System.out.println("密码:"+pre);
            System.out.println("邮箱"+mail);
            System.out.println("文件名:"+file);
            System.out.println();
            System.out.println("程序退出,谢谢使用!");
       
    }

    /**
     * @param args
     */
}

参考代码2(测试类):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package cn.puruidong.accp_15;

/**
 * @author PuRuidong
 *
 */
public class Ttest5 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Test5 center = new Test5();
        boolean loginzhi = true ;
        center.inname();
        center.inpre();
        center.inmail();
        center.login(loginzhi);
        center.infile();
        center.show();
    }

}