没有对比就没有伤害,好几天没有更新了,是因为小编在疯狂的“拿'别人的代码。
话不多说上代码
需求是用户注册,判断用户民格式是否符合要求,如果不符合就抛出异常
先看看自己的代码
package Absttact.com.java.Exception;
import java.util.Scanner;
//异常练习
//要求是判断用户名是否在(6-16)位数字之间,在通过,不在报出异常
//异常结束后程序不结束继续输入用户名直到格式正确
//输入密码
//打印用户名和密码
public class OprationExceptiontest01 {
static {
System.out.println("============================");
System.out.println("=============注册用户========");
System.out.println("=============================");
}
public static void main(String [] agrs) {
//创建输入对象
Scanner sc=new Scanner(System.in);
System.out.println("输入长度在[6-16]位的用户名");
//创建一个使用者对象
UserInput zhangsan =new UserInput();
//判断是否符和要求
//需要循环判断
//获取字符串
try {
zhangsan.Handlerusername(zhangsan);
} catch (OprationException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
while(true){
System.out.println("请重新输入");
//输入用户
zhangsan.setName( sc.next());
//将用户名转位数组字符串判断长度是不是符合要求
char [] username =zhangsan.getName().toCharArray();
//符和输入成功,不符号就重写
if(username.length<6||username.length>16)
{
System.out.println("用户名格式不符合要求");
System.out.println("请重新输入长度在[6-16]位的用户名");
}
if(username.length>=6&&username.length<=16)
break;
}
}
//输入密码
System.out.println("输入长度在[8-16]位的密码");
try {
zhangsan.HandleruserPossword(zhangsan);
} catch (OprationException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
while(true) {
System.out.println("请重新输入");
//输入密码
zhangsan.setPossword( sc.next());
//将用户名转位数组字符串判断长度是不是符合要求
char [] userPossword =zhangsan.getPossword().toCharArray();
//符和输入成功,不符号就重写
if(userPossword.length<8||userPossword.length>16)
{
System.out.println("密码名格式不符合要求");
System.out.println("请重新输入长度在[8-16]位的密码");
}
if(userPossword.length>=8&&userPossword.length<=16)
break;
}
}
//输出信息
System.out.println("用户名是和密码是: ");
System.out.println( "用户名"+zhangsan.getName());
System.out.println( "密码"+ zhangsan.getPossword());
}
}
//用户类
class UserInput{
private String name;
private String possword;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPossword() {
return possword;
}
public void setPossword(String possword) {
this.possword = possword;
}
public void Handlerusername( UserInput zhangsan) throws OprationException {
while(true) {
Scanner sc=new Scanner(System.in);
//输入用户
zhangsan.setName( sc.next());
//将用户名转位数组字符串判断长度是不是符合要求
char [] username =zhangsan.getName().toCharArray();
//符和输入成功,不符号就重写
if(username.length<8||username.length>16)
{
throw new OprationException("用户名格式不符合要求");
}
if(username.length>=8&&username.length<=16)
break;
}
}
public void HandleruserPossword( UserInput zhangsan) throws OprationException {
while(true) {
Scanner sc=new Scanner(System.in);
//输入用户
zhangsan.setPossword( sc.next());
//将用户名转位数组字符串判断长度是不是符合要求
char [] userPossword =zhangsan.getPossword().toCharArray();
//符和输入成功,不符号就重写
if(userPossword.length<6||userPossword.length>16)
{
throw new OprationException("密码格式不符合要求");
}
if(userPossword.length>=6&&userPossword.length<=16)
break;
}
}
}
//自定义异常
class OprationException extends Exception{
OprationException(){
}
OprationException(String s){
super(s);
}
}
运行结果
?别人的代码
?不说什么了,懂得都懂,java的世界太神奇,小编只是一个小垃圾,接着加油吧!
这些不是小编的自暴自弃喔,算是小编的自嘲吧
如果有友友看完了这个博客,谢谢你的浏览喔。要加油学习喔,不然会像小编一样几百号的垃圾代码比不上别人几行代码!
|