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

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

被折叠的 条评论
为什么被折叠?



