Java IO流 之 国际化 多语言实例
Posted verejava
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java IO流 之 国际化 多语言实例相关的知识,希望对你有一定的参考价值。
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流 之 国际化 多语言实例的主要内容,如果未能解决你的问题,请参考以下文章