码迷,mamicode.com
首页 > 编程语言 > 详细

Java IO流 之 国际化 多语言实例

时间:2018-06-26 11:15:10      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:factor   中文   format   []   实例   new   false   log   turn   

http://www.verejava.com/?id=16994875552823

/**
    题目: 民航飞机票用户登录验证系统
            1. 键盘输入选择英文还是中文系统 (1:中文, 2:英文)
            2. 键盘输入用户名和密码
            3. 对输入的用户名和密码判断不能为空
            4. 对输入的用户名和密码进行登录验证

    思路: 
        1. 抽象出类:
            1.1 用户(User)
            1.2 用户管理类(UserManager)
        2. 找出类关系:
            2.1 User -> UserManager
        3. 找出类属性:
            3.1 User(用户名,密码)
        4. 找出方法:
            4.1 用户登录验证 UserManager{boolean isLogin(User user)}
*/
import java.util.Scanner;
import java.util.Locale;
import java.util.ResourceBundle;
import java.text.MessageFormat;
public class TestLocaleApplication
{
    public static void main(String[] args)
    {
        Scanner in=new Scanner(System.in);
        System.out.println("请选择中文 还是 英文环境 (1:中文, 2:英文)");
        int number=Integer.parseInt(in.nextLine());
        //根据输入的数字创建对应的国家语言
        Locale locale=LocaleFactory.createLocale(number);
        ResourceBundle bundle=ResourceBundle.getBundle("validation",locale);

        System.out.println(bundle.getString("inputUsername"));
        String username=in.nextLine();
        System.out.println(bundle.getString("inputPassword"));
        String password=in.nextLine();
        //输入验证
        if(username==null||username.equals(""))
        {
            System.out.println(bundle.getString("validUsername"));
            return;
        }
        if(password==null||password.equals(""))
        {
            System.out.println(bundle.getString("validPassowrd"));
            return ;
        }

        //验证登录
        User user=new User(username,password);
        UserManager um=new UserManager();
        if(um.isLogin(user))
        {
            System.out.println(MessageFormat.format(bundle.getString("loginSuccess"),username,username));
        }
        else
        {
            System.out.println(bundle.getString("loginFail"));
        }
    }
}
class User
{
    private String username;
    private String password;

    public User(String username,String password)
    {
        this.username=username;
        this.password=password;
    }

    public String getUsername()
    {
        return this.username;
    }
    public void setUsername(String username)
    {
        this.username=username;
    }
    public String getPassword()
    {
        return this.password;
    }
    public void setPassword(String password)
    {
        this.password=password;
    }
}
class UserManager
{
    /**
        用户登录验证
    */
    public boolean isLogin(User user)
    {
        if(user!=null&&user.getUsername().equals("admin")&&user.getPassword().equals("1"))
        {
            return true;
        }
        return false;
    }
}
/**
    创建语言Locale类的工厂
*/
class LocaleFactory
{
    /**
        根据输入 (1:创建中文Locale, 2:英文 创建英文的Locale)
    */
    public static Locale createLocale(int number)
    {
        if(number==1)
            return new Locale("zh","CN");
        if(number==2)
            return new Locale("en","US");
        return null;
    }

}

http://www.verejava.com/?id=16994875552823

Java IO流 之 国际化 多语言实例

标签:factor   中文   format   []   实例   new   false   log   turn   

原文地址:https://www.cnblogs.com/verejava/p/9227230.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!