所以我有一个库存程序,其中的符号存储在数组中,我需要将该数组调用到另一个类中并打印出来。这是我的代码和数组代码。
abstract class stockArray
{
String stocks[];
String stockSymbols[] ={ "SMG", "APL", "GE", "TOY","SUB","GM","LG","VZ","JP","BTN"};
}
这是我需要调用并打印出我的Switch case语句的第1种情况的代码。我如何将该数组调用到该位置(情况1)并打印该数组的内容?谢谢
public class stockProgram
{
public static void main(String[] args)
{
String s;
Scanner sc= new Scanner(System.in);
Scanner input = new Scanner(System.in);
Scanner dec = new Scanner(System.in);
System.out.println("Welcome to the stock tracker Program,");
System.out.println("What would you like to do?");
System.out.println("***MENU OPTIONS***");
System.out.println("1. See a list of stocks");
System.out.println("2. Buy stocks");
System.out.println("3. Sell Stock Holdings.");
System.out.println("4. Search Stock listings");
System.out.println("5. Exit Program");
System.out.println(" Please Enter an option");
int op = sc.nextInt();
switch(op)
{
case 1: System.out.println("---Stock Holdings List---");
System.out.println("These are the current stocks avaliable to purchase in this program.");
break;
答案 0 :(得分:1)
首先,请遵循命名约定-类名以大写字母开头,因此将stockArray
更改为StockArray
。
访问该数组的一种方法是像这样使它static
:-
static final String stockSymbols[] ={ "SMG", "APL", "GE", "TOY","SUB","GM","LG","VZ","JP","BTN"};
,然后在您的case语句中使用此代码:-
String symbols[] = StockArray.stockSymbols;
Arrays.stream(symbols).forEach(System.out::println);
或者,如果您不想使其成为静态,则可以创建一个匿名内部类:-
String symbols[] = new StockArray() {}.stockSymbols;
Arrays.stream(symbols).forEach(System.out::println);
请注意,我只是将该数组存储在另一个变量symbols
中,仅用于演示目的,您不需要这样做。
答案 1 :(得分:0)
定义一个扩展抽象类stockArray
的类:
class StockArraySubclass extends stockArray {
}
在StockArraySubclass
类的切换情况下使用stockProgram
:
StockArraySubclass st = new StockArraySubclass();
System.out.println(Arrays.toString(st.stockSymbols));
这将打印:[SMG, APL, GE, TOY, SUB, GM, LG, VZ, JP, BTN]
答案 2 :(得分:-1)
首先 您的stockArray类是抽象的(更好的类名称以大写字母开头,即StockArray),并且您知道抽象类不能是实例。 因此,您必须做出决定,再创建另一个类,该类扩展您的抽象类(stockArray)或使您的抽象类成为普通类。 那么您可以创建一个实例
,您只需在主要方法中使用
public class stockArray
{
String stocks[];
String stockSymbols[] ={ "SMG", "APL", "GE","TOY","SUB","GM","LG","VZ","JP","BTN"};
}
public class stockProgram
{
public static void main(String[] args)
{
String s;
Scanner sc= new Scanner(System.in);
Scanner input = new Scanner(System.in);
Scanner dec = new Scanner(System.in);
stockArray stockArr = new stockArray();
System.out.println("Welcome to the stock tracker Program,");
System.out.println("What would you like to do?");
System.out.println("***MENU OPTIONS***");
System.out.println("1. See a list of stocks");
System.out.println("2. Buy stocks");
System.out.println("3. Sell Stock Holdings.");
System.out.println("4. Search Stock listings");
System.out.println("5. Exit Program");
System.out.println(" Please Enter an option");
int op = sc.nextInt();
switch(op)
{
case 1:
forEach(String str : stockArr.stockSymbols){
System.out.println(str);
}
System.out.println("These are the current stocks avaliable to purchase in this program.");
break;