Новичок
Профиль
Группа: Участник
Сообщений: 2
Регистрация: 17.10.2012
Репутация: нет Всего: нет
|
Здравствуйте. Подскажите пожалуйста как сделать на примере Интернационализацию текста (Локализация на трех языках: en, ru, kz) Если можно не большой код примера для программы хотя бы для одного языка. Результат должен иметь выбор на трех языках. Выводит: Код | Knight , name = Arthur armorItems = [WEAPON { id = 5 name = Dagger, price= 50.0, weight = 0.3}, ARMOR { id = 3 name = Gloves, price = 200.0, weight = 0.5}, ARMOR { id = 2 name = Boots, price = 270.0, weight = 1.0}, WEAPON { id = 6 name = Shield, price= 100.0, weight = 1.5}, WEAPON { id = 7 name = Sword, price= 150.0, weight = 2.0}, ARMOR { id = 4 name = Helmet, price = 300.0, weight = 2.5}, ARMOR { id = 1 name = Armor, price = 500.0, weight = 5.0}]} |
class Main Код |
package kz.epam.dresstheknight;
import java.util.ArrayList; import java.util.List; import kz.epam.dresstheknight.armory.ArmorItem; import kz.epam.dresstheknight.armory.ArmorType; import kz.epam.dresstheknight.armory.Knight; import kz.epam.dresstheknight.armory.impl.ArmoryItem; /** * * @author user * @param описываем класс Main */ public class Main {
protected static int id = 0; // ID нашего рыцаря protected static java.lang.String name = "Arthur"; //Имя нашего рыцаря protected static Knight knight = null; //Ссылка на объект рыцарь protected static List<ArmorItem> items = null; //Амуниция нашего рыцаря
public static void main(java.lang.String[] args) { knight = new Knight(name); //Создаём объект "рыцаря". items = new ArrayList<ArmorItem>(); //Создаём объект "список амуниции" //Добавляем амуницию в список items.add(new ArmoryItem(1, "Armor", 500, 5, ArmorType.ARMOR));//Передаётся указатель на созданный объект items.add(new ArmoryItem(2, "Boots", 270, 1, ArmorType.ARMOR));//Передаётся указатель на созданный объект items.add(new ArmoryItem(3, "Gloves", 200, 0.5, ArmorType.ARMOR));//Передаётся указатель на созданный объект items.add(new ArmoryItem(4, "Helmet", 300, 2.5, ArmorType.ARMOR));//Передаётся указатель на созданный объект items.add(new ArmoryItem(5, "Dagger", 50, 0.3, ArmorType.WEAPON));//Передаётся указатель на созданный объект items.add(new ArmoryItem(6, "Shield", 100, 1.5, ArmorType.WEAPON));//Передаётся указатель на созданный объект items.add(new ArmoryItem(7, "Sword", 150, 2, ArmorType.WEAPON));//Передаётся указатель на созданный объект //Добавляем спсок амуниции нашему объекту "рыцарь" knight.setArmorItems(items);//Передача указателя на созданный объект //Выводим в консоль всё то, что у нас получилось. //При вызове функции println происходит вызов метода toString() класса knight System.out.println(knight); } } |
class ArmorItem Код | package kz.epam.dresstheknight.armory; /** * * @author user * */ /** * @param описываем абстрактный класс ArmorItem */ public abstract class ArmorItem { /** * @param описываем поля класса */ protected int id; protected java.lang.String name; protected double price; protected double weight; protected ArmorType type;
public int getId() { return this.id; }
public void setId(int id) { this.id = id; }
public String getName() { return this.name; }
public void setName(String name) { this.name = name; }
public double getPrice() { return this.price; }
public void setPrice(double price) { this.price = price; }
public void setWeight(double weight) { this.weight = weight; }
public double getWeight() { return this.weight; } }
|
class ArmorItemWeightComparator Код | package kz.epam.dresstheknight.armory;
import java.util.Comparator;
/** * * @author user * @param описываем класс ArmorItemWeightComparator c интерфейсом implements * Comparator */ public class ArmorItemWeightComparator implements Comparator<ArmorItem> {
/** * * @param переопределение метода compare c параметрами */ @Override public int compare(ArmorItem o1, ArmorItem o2) {
if (o1.getWeight() > o2.getWeight()) { return 1; } else if (o1.getWeight() < o2.getWeight()) { return -1; } else { return 0; } } }
|
enum ArmorType Код | package kz.epam.dresstheknight.armory;
/** * * @author user * @param описываем класс enum ArmorType */ public enum ArmorType {
WEAPON, ARMOR }
|
class Knight Код | package kz.epam.dresstheknight.armory;
import java.util.Collections; import java.util.List;
/** * * @author user * @param описываем класс Knight */ public class Knight {
protected List<ArmorItem> armorItems; protected java.lang.String name;
/** * * @param описываем конструктор Knight без параметров */ public Knight() { this.armorItems = null; this.name = null; }
/** * * @param описываем конструктор Knight с параметрами */ public Knight(java.lang.String name) { this.armorItems = null; this.name = name; }
/** * * @param описываем метод getId */ /** * * @param описываем метод getName */ public java.lang.String getName() { return this.name; }
/** * * @param описываем метод setName с параметрами */ public void setName(String name) { this.name = name; }
/** * * @param описываем метод getArmorItems класса коллекции ArmorItem */ public List<ArmorItem> getArmorItems() { return this.armorItems; }
/** * * @param описываем метод setArmorItems класса коллекции ArmorItem с * параметрами */ public void setArmorItems(List<ArmorItem> armorItems) { this.armorItems = armorItems; Collections.sort(this.armorItems, new ArmorItemWeightComparator()); }
/** * * @param переопределение метода toString класса Khight */ @Override public java.lang.String toString() { return "Knight " + ", name = " + this.name + "\n" + "\t armorItems = " + this.armorItems + '}'; } } |
class ArmoryItem Код | package kz.epam.dresstheknight.armory.impl;
import kz.epam.dresstheknight.armory.ArmorItem; import kz.epam.dresstheknight.armory.ArmorType;
/** * * @author user * @param описываем класс ArmoryItem наследованный от класса ArmorItem */ public class ArmoryItem extends ArmorItem {
/** * * @param описываем конструктор класса ArmoryItem с параметрами */ public ArmoryItem(int id, java.lang.String name, double price, double weight, ArmorType type) { this.id = id; this.name = name; this.price = price; this.weight = weight; this.type = type; }
/** * * @param переопределение метода toString объекта ArmorType */ @Override public java.lang.String toString() { if (this.type == ArmorType.ARMOR) { return "ARMOR {" + " id = " + this.id + " name = " + this.name + ", price = " + this.price + ", weight = " + this.weight + '}'; } else if (this.type == ArmorType.WEAPON) { return "WEAPON {" + " id = " + this.id + " name = " + this.name + ", price= " + this.price + ", weight = " + this.weight + '}'; } else { return "{" + " id = " + this.id + " name = " + this.name + ", price = " + this.price + ", weight = " + this.weight + '}'; } } }
|
|