Java 程序结构
Java Program Structure
我正在构建一个应用程序,根据用户从下拉菜单中的选择,我可以用不同的语言打印一个词。我当前的方法有效但是效率不高,因为我从嵌套 class 获取数据并从完全不同的 class 请求它,这需要嵌套 [=15= 中的每个单词的一行代码].我怎样才能以更 efficient/easier 的方式实现这一点?以下是上述代码的基本格式:
public class words {
class example {
String english = "example";
String chinese = "example_in_chinese";
}
class example2 {
String english = "example2";
String chinese = "example2_in_chinese";
}
}
public class getWords {
words word = new words();
words.example example = word.new example();
words.example2 example2 = word.new example2();
*/ I have to repeat the above line for each of the 20
words I have in a nested class
/*
}
也许您可以使用责任链设计模式来确定哪种语言适合打印。
用代码显示需要很长时间,但我会给你提示。
遍历对象以找到具有给定下拉值的可打印语言。
如果您找不到合适的打印语言,请忽略它。
https://www.tutorialspoint.com/design_pattern/chain_of_responsibility_pattern.htm
我觉得你可以试试用地图。
public class Words {
static Map<String, String> example1 = new HashMap<String, String>();
example1.put("english", "example");
example1.put("chinese", "example_in_chinese");
static Map<String, String> example2 = new HashMap<String, String>();
example2.put("english", "example2");
example2.put("chinese", "example2_in_chinese");
}
所以你可以打电话
Words.example1.get("english");
或者更进一步,您可以创建枚举语言
enum Language {
ENGLISH, CHINESE
}
public class Words {
static Map<Language, String> example1 = new HashMap<Language, String>();
example1.put(Language.ENGLISH, "example");
example1.put(Language.CHINESE, "example_in_chinese");
static Map<Language, String> example2 = new HashMap<Language, String>();
example1.put(Language.ENGLISH, "example2");
example1.put(Language.CHINESE, "example2_in_chinese");
}
Words.example1.get(Language.ENGLISH);
只是为了减少打字错误的可能性。
我正在构建一个应用程序,根据用户从下拉菜单中的选择,我可以用不同的语言打印一个词。我当前的方法有效但是效率不高,因为我从嵌套 class 获取数据并从完全不同的 class 请求它,这需要嵌套 [=15= 中的每个单词的一行代码].我怎样才能以更 efficient/easier 的方式实现这一点?以下是上述代码的基本格式:
public class words {
class example {
String english = "example";
String chinese = "example_in_chinese";
}
class example2 {
String english = "example2";
String chinese = "example2_in_chinese";
}
}
public class getWords {
words word = new words();
words.example example = word.new example();
words.example2 example2 = word.new example2();
*/ I have to repeat the above line for each of the 20
words I have in a nested class
/*
}
也许您可以使用责任链设计模式来确定哪种语言适合打印。
用代码显示需要很长时间,但我会给你提示。
遍历对象以找到具有给定下拉值的可打印语言。 如果您找不到合适的打印语言,请忽略它。
https://www.tutorialspoint.com/design_pattern/chain_of_responsibility_pattern.htm
我觉得你可以试试用地图。
public class Words {
static Map<String, String> example1 = new HashMap<String, String>();
example1.put("english", "example");
example1.put("chinese", "example_in_chinese");
static Map<String, String> example2 = new HashMap<String, String>();
example2.put("english", "example2");
example2.put("chinese", "example2_in_chinese");
}
所以你可以打电话
Words.example1.get("english");
或者更进一步,您可以创建枚举语言
enum Language {
ENGLISH, CHINESE
}
public class Words {
static Map<Language, String> example1 = new HashMap<Language, String>();
example1.put(Language.ENGLISH, "example");
example1.put(Language.CHINESE, "example_in_chinese");
static Map<Language, String> example2 = new HashMap<Language, String>();
example1.put(Language.ENGLISH, "example2");
example1.put(Language.CHINESE, "example2_in_chinese");
}
Words.example1.get(Language.ENGLISH);
只是为了减少打字错误的可能性。