Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从一个类访问ArrayList的特定部分到另一个类_Java_Eclipse_Scope - Fatal编程技术网

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() {...