Java 如何从一个类访问ArrayList的特定部分到另一个类
好的,您可以从Java 如何从一个类访问ArrayList的特定部分到另一个类,java,eclipse,scope,Java,Eclipse,Scope,好的,您可以从数组s类中获取案例 package HW1; import java.util.*; public class Main { public static void printMenu() { System.out.println("Menu"); System.out.println("1: Choose a Case"); System.out.println("2: Choose a Monitor"); System.out.println(
数组
s类中获取案例
package HW1;
import java.util.*;
public class Main {
public static void printMenu()
{
System.out.println("Menu");
System.out.println("1: Choose a Case");
System.out.println("2: Choose a Monitor");
System.out.println("3: Choose a CPU");
System.out.println("4: Choose a Video Card");
System.out.println("5: Choose a Hard Drive");
System.out.println("6: Choose a Memory");
System.out.println("7: Delete Current Computer");
System.out.println("8: Display Receipt");
System.out.println("9: Quit program");
}
public static void main(String[] args) {
printMenu();
System.out.println("please select and option");
Arrays arrays = new Arrays();
Scanner in = new Scanner(System.in);
int choice = in.nextInt();
if (choice == 1) {
ArrayList cases = arrays.Case();
System.out.println(cases);
System.out.println("please select a case");
if (choice == 1) {
System.out.println(c1.getPrice());
}
}
}
}
接下来,您需要找出用户对哪种情况感兴趣
ArrayList cases = arrays.Case();
请仔细查看以了解更多详细信息
建议
请注意,库中已经有一个名为Arrays
的类,最好将其重命名以消除混淆
为了避免需要从ArrayList
强制转换元素,您应该提供一个通用的返回结果,例如
public ArrayList<Case> case() {...
public ArrayList<Monitor> monitor() {...
您应该使用public ArrayList Case(){
,而不是public ArrayList Case(){
,这样可以确保在执行cases.get
时,编译器会期望出现Case
,这意味着您可以避免执行类似于Case=cases.get(choice);
的操作,这样更安全
在Java中,建议Java方法名称以小写字母开头
// Allow for a non-positive exit value...
if (choice >= 0) {
// I know, blind cast, bad idea...keep reading...
Case aCase = (Case)cases.get(choice);
System.out.println(aCase.getPrice());
}
好的,我考虑了你的一些建议,改变了情况方法转换为case1,因为编译器会考虑它的大小写。在您提供的if语句中,我得到2个错误,它说case无法解析为变量,无法删除case,而且该case是无效的表达式
case
驻留的包是什么?是否导入了它?我还有其他类,如case、Monitor等,就像数组和ey只返回项目的名称和价格所有类都在同一个包中我更改了Case=(Case)cases.get(choice);System.out.println(Case.getPrice());我将case改为case1,错误消失了,但在选项显示后我仍然无法获得正确的价格我是个白痴case
是一个保留字:P,对不起。然后我建议case
有问题,但我没有足够的钱继续
// Allow for a non-positive exit value...
if (choice >= 0) {
// I know, blind cast, bad idea...keep reading...
Case aCase = (Case)cases.get(choice);
System.out.println(aCase.getPrice());
}
public ArrayList<Case> case() {...
public ArrayList<Monitor> monitor() {...
public ArrayList<Case> getCases() {...
public ArrayList<Monitor> getMonitors() {...