我有兩個字母,每個字母都有一個單詞,例如:A-apple, B-bus 我需要創建一個方法,如果我提供我認為可以這樣做的字母(方法 1),則回傳單詞:
public class Main {
static void method1(String letter) {
if (letter.equals("A") {
System.out.println("apple");
} else if (letter.equals("B") {
System.out.println("bus");
}
}
問題是我需要另一種方法(方法 2)來創建另一個字母和單詞對,方法 1 也可以回傳,我怎樣才能在不更改方法 1 的情況下做到這一點?我可以創建一個在方法之外但可以通過方法訪問和更新的資料框或串列嗎?
為了澄清我需要以下任務的解決方案:
- 我有一對包含 1 個字母和 1 個單詞
(例如這是一對:A-Apple) - 我必須創建兩種方法
-
- 如果我們提供字母,方法應該列印/回傳一對中的單詞,例如,如果我們提供字母 A,那么它應該列印/回傳單詞“Apple”
- 2.method 應該以某種方式創建一個新的對,以后可以以與上述示例相同的方式訪問(A-Apple 對)
uj5u.com熱心網友回復:
我將從一些瑣碎的事情開始,一個具有單個資料成員的測驗類,一個映射(一個適合保存鍵/值對的集合)。
public class Test {
// The collection where we'll hold the pairs
private Map<String, String> myMap;
// Constructor
public Test() {
myMap = new HashMap<String, String>();
}
然后我將添加兩個簡單的方法,一個是向集合中添加一個元素,另一個是從集合中檢索一個元素。
public String get(String letter) {
return myMap.get(letter);
}
public void put(String letter, String word) {
myMap.put(letter, word);
}
最后一個 main 來測驗它,分配 Test 物件,添加一些元素,然后檢索一個并列印它的值。
public static void main(String [] args) {
Test app = new Test();
app.put("A", "Apple");
app.put("B", "Bus");
String value = app.get("A");
System.out.println(value);
System.exit(0);
}
}
uj5u.com熱心網友回復:
正如OH GOD SPIDERS所說,您必須使用Map。
創建一個Alphabet類,如下所示:
public class Alphabet {
// Find why do we use a ConcurentHashMap? What other types are there?
private final Map<Character, String> letterWordMap = new ConcurrentHashMap<>();
public void addWord(Character letter, String word) {
// Try to replace with .putIfAbsent() and check the return value of this method!
letterWordMap.put(letter, word);
}
public String getWord(Character letter) {
// Try to get a non existing letter like 'X'
return letterWordMap.get(letter);
}}
測驗方法中的main方法:
public class Main {
public static void main(String[] args) {
Alphabet alphabet = new Alphabet();
// Add letters and words
alphabet.addWord('A', "Apple");
alphabet.addWord('B', "Bus");
// Get the word
String wordForLetterA = alphabet.getWord('A');
System.out.println("Word for letter 'A': " wordForLetterA);
// Add another letter and word
alphabet.addWord('J', "Java");
// Get another word
String wordForLetterJ = alphabet.getWord('J');
System.out.println("Word for letter 'J': " wordForLetterJ);
}}
uj5u.com熱心網友回復:
不是百分百確定您的問題是什么,但如果是如何更改物件內部的變數,這些變數是由物件類內部的 setter 方法完成的。如果這不是您的問題,請使用評論回復,我可以從那里嘗試幫助
public void setVar(String newValue)
{
this.oldVar = newVale
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/447950.html
