我想在java中製作一個週期表程序。代碼非常龐大,所以我沒有把整個事情放在這裏。這是我使用的存儲和打印每個元素的值類: -使用String來調用類的函數?
class elements
{
int atomicno;
String name;
double weight;
void setdetails(int a, String n, double w)
{
atomicno=a;
name=n;
weight=w;
}
void showdetails()
{
System.out.println("Atomic no.=" +atomicno);
System.out.println("Name=" +name);
System.out.println("Weight=" +weight);
}
}
在主類中我做了這個類和使用setdetails()
這樣每個元素的硬編碼信息的118個對象:
elements H=new elements();
H.setdetails(1, "Hydrogen", 1.008);
現在我要求用戶輸入如H,他,李等元素符號搜索它的信息,但我認爲你必須使用一個實際的object
調用showdetails()
功能類似H.showdetails()
但我仍然嘗試用String
這樣的用戶輸入:
System.out.print("Enter the correct exact symbol to search:");
String sym=sc2.nextLine();
for(i=0; i<118; i++)
{
if(s[i].equals(sym))
{
System.out.println();
sym.showdetails();
System.out.println();
}
}
無疑地sym.showdetails();
不起作用,即使對象的名稱和用戶輸入的符號相同。所以現在如果我做H.showdetails();
它可以工作,但sym.showdetails();
不起作用,即使sym
是H
。現在可以做什麼?
你正在尋找一個地圖''數據結構,作爲一個HashMap的'' –
不要定義變量118執行。使用「地圖」。 – ajb
我是新來的,我對地圖一無所知:/ –