Java 将一个类的方法传递给另一个类
我的问题是我需要从元素类中获取符号。 我通常会在PeriodicTable中创建一个对象,如下所示: 元素e=新元素(); 然后在方法中使用e.getSymbol以便将其用于比较 因此,为了完成第一个任务并打印整个元素列表,我在PeriodicTable中声明了一个数组,如下所示: 元素[]对象=新元素[数组大小]; 我猜我正确地声明了它,因为它确实运行了整个元素列表 同样,在PeriodicTable中将getSymbol放入方法时遇到问题。 有什么有用的建议吗Java 将一个类的方法传递给另一个类,java,arrays,Java,Arrays,我的问题是我需要从元素类中获取符号。 我通常会在PeriodicTable中创建一个对象,如下所示: 元素e=新元素(); 然后在方法中使用e.getSymbol以便将其用于比较 因此,为了完成第一个任务并打印整个元素列表,我在PeriodicTable中声明了一个数组,如下所示: 元素[]对象=新元素[数组大小]; 我猜我正确地声明了它,因为它确实运行了整个元素列表 同样,在PeriodicTable中将getSymbol放入方法时遇到问题。 有什么有用的建议吗 对于此方法,用户将为元素输入符
对于此方法,用户将为元素输入符号。该方法将搜索元素并返回其索引(在数组中)。然后,它将使用元素类中的toString方法,使用索引显示单个元素及其所有其他信息
public int searchBySymbol(String sym)
{
int index = 0;
boolean found = false;
for (int i = 0; i < objects.length; i++)
{
objects[i] = objects.getSymbol;
}
while (index < objects.length && !found)
{
if (objects[index].equals(sym))
{
found = true;
}
else
{
index++;
}
}
if(found)
{
System.out.println("Found at position: " + index);
System.out.println(objects[index].toString());
}
else
{
System.out.println("Not found");
}
}
public int searchBySymbol(字符串sym)
{
int指数=0;
布尔值=false;
for(int i=0;i
这里绝对不需要两个循环首先,有两种解决方案:
(推荐)如果按符号搜索元素将是查找元素的主要方式,请考虑使用<代码> HashMap <代码>来包含数据而不是元素数组,因为HasMead允许使用“代码>键< /代码>查找对象,例如<代码> HashMap < /代码>。查找
HashMap
API或检查以下示例:for (Element e : objects) {
if (e.getSymbol().equals(sym) {
return true;
}
}
//return false after the loop omits the need for an explicit boolean variable`
int i
跟踪,因此不需要单独的变量来跟踪它
for (int i = 0; i < objects.length; i++) {
if (objects[i].getSymbol().equals(sym)) {
//print i to show index number
//print objects[i].toString();
return true;
}
}
//print not found...
return false;
for(int i=0;i
请显示您的代码,而不是描述代码。帮助你会容易得多!我试过了,但我在一个VPN上,它不会复制过来。也许如果我在VPN上登录到这里。。。。将尝试。对于此方法,用户将为元素输入符号。该方法将搜索元素并返回其索引(在数组中)。然后,它将使用元素类中的toString方法,使用索引显示单个元素及其所有其他信息<代码>对象[i]=对象。getSymbol无效。@MasterYushi否,因为对象
是一个数组,没有字段getSymbol
。数组对象是一种语言构造,因此它是不可重写的。因此,我只需要在这个方法中进一步编码,以便返回符号的索引,并使用index-to-code返回其余信息。关于元素??是的-如果你需要索引,那么使用一个普通的for循环来让事情更容易阅读,我已经编辑了我的文章并添加了另一个例子。