Java中String的构造方法和用户登录三种方式

本文详细讲解了Java中String类的构造方法,包括空白字符串、字符数组和字节数组的创建,以及常见的字符串赋值方式。同时介绍了三种用户登录验证方法:直接使用、类比较和安全的属性访问。

String的构造方法:

                可以理解为String的多种赋值操作。

package Constructor1;
/*
* String 构造方法。
*       public String():创建一个空白字符串对象,不含有任何内容
*       public String(char[] chs):根据字符数组的内容,来创建字符串对象
*       public String(byte[] bys):根据字节数组的内容,来创建字符串对象
*       String s = "abc";直接赋值的方式创建字符串对象,内容就是abc
*
*       推荐直接赋值的方式得到字符串对象
* */
public class DemoText {
    public static void main(String[] args) {

//        public String():创建一个空白字符串对象,不含有任何内容
        String line = new String();
        System.out.println("创建空字符串:"+line);

//        public String(char[] chs):根据字符数组的内容,来创建字符串对象
        char[] cha = {'a','b','c'};
        String line1 = new String(cha);
        System.out.println("字符数组创建字符串:"+line1);

//        public String(byte[] bys):根据字节数组的内容,来创建字符串对象
//        byte根据ASCII码值输出
        byte[] cha1 = {97,98,99};
        String line2 = new String(cha1);
        System.out.println("根据字节数组的内容,来创建字符串:"+line2);

//        String s = "abc";直接赋值的方式创建字符串对象,内容就是abc
        String line3 = "abc";
        System.out.println("直接赋值的方式:"+line3);
    }
}

 用户登录的三种方式:


/*
* 需求:
*       已知用户名和密码,请用程序的方式实现模拟用户登录。总共三次机会,登录之后,给出相应的提示
*
* 思路:
*       1、已知用户名和密码,定义两个字符串表示即可;
*       2、键盘录入哟啊登录的用户名和密码,用 Scanner 实现;
*       3、拿键盘录入的用户名、密码和已知的用户名、密码进行比较,给出相应的提示。字符串的内容比较,用equals()方法实现;
*       4、用循环实现多次机会,这里的次数明确,采用for循环实现,并在登录成功的时候,使用break结束循环;
* */

代码一:直接使用

package Constructor2;

import java.util.Scanner;

public class LoginDemo {
    public static void main(String[] args) {

        for (int i = 1; i <= 3; i++) {

//        创建Scanner对象
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入你的用户名:");
//        创建用来存储用户名的变量
            String user = sc.nextLine();
            System.out.println("请输入你密码:");
//        创建存储密码的变量
            String passWord = sc.nextLine();

            if (user.equals("abc") && passWord.equals("123")) {
                System.out.println("欢迎光临");
                break;
            } else {
                System.out.println("用户名或密码错误,请重新输入");
                continue;
            }
        }
    }
}

代码二:采用类进行比较

package Constructor2;

        /*
        定义Login类

        */        
public class Login {
//    定义成员方法,user:用户名,passWord:密码
    String user;
    String passWord;

//  构造方法
    public Login(){}

//            定义一个方法,用来比较两个字符是否正确,返回值类型为boolean类型
            public boolean Compare(String user,String passWord){

        if(user.equals("abc") && passWord.equals("123")){
            System.out.println("欢迎光临");
            return true;

        }else{
            System.out.println("用户名或密码错误,请重新输入");
            return false;
        }
    }
}
package Constructor2;

import java.util.Scanner;

public class LoginDemo {
    public static void main(String[] args) {

        for (int i = 1; i <= 3; i++) {

//        创建Scanner对象
            Scanner sc = new Scanner(System.in);

//            创建类的对象
            Login ln = new Login();

//            键盘输入用户名(user)
            System.out.println("请输入你的用户名:");
            ln.user=sc.nextLine();
//            键盘输入密码(passWord)
            System.out.println("请输入你的密码:");
            ln.passWord=sc.nextLine();

            boolean fa=ln.Compare(ln.user, ln.passWord);
            if(fa == true){
//                System.out.println("欢迎光临");
                break;
            }else{
//                System.out.println("用户名或密码错误,请重新输入");
                continue;
            }
        }
    }
}

第三种方式,最安全的方式:
 

package Constructor3;

public class DemoText1 {
    //    定义成员方法,user:用户名,passWord:密码
    String user;
    String passWord;

    //  构造方法
    public DemoText1(){}
//    set方法
    public void setUser(String user){
        this.user = user;
    }
//    get方法
    public String getUser() {
        return passWord;
    }
    public void setPassWord(String passWord){
        this.passWord = passWord;
    }

    public String getPassWord() {
        return passWord;
    }
//    接收数据并进行比较
    public boolean show(String user,String passWord){
        if(user.equals("abc") && passWord.equals("123")){
            return true;
        }else{
            return false;
        }
    }
}
package Constructor3;

import java.util.Scanner;

public class DemoText2 {
    public static void main(String[] args) {

        DemoText1 dt = new DemoText1();
        Scanner sc = new Scanner(System.in);
        for (int i=1;i<=3;i++) {
            System.out.println("请输入你的用户名");
//            键盘输入密码
            dt.setUser(sc.nextLine());
            System.out.println("请输入你的密码");
//            键盘输入密码
            dt.setPassWord(sc.nextLine());
//            lea通过调用方法获得返回值,为boolean类型
            boolean lea = dt.show(dt.user, dt.passWord);
            if (lea == true){
                System.out.println("密码正确");
                break;}
            else {
                System.out.println("密码错误");
                continue;
            }
        }
    }
}

通过浅显易懂的代码,写出判断登录是否成功,一定还有更简单的方法,可惜自己才疏学浅,但是努力总会没有错,若有错误,请指正,不胜感谢。

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

老板大气,I am happy

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值