繁体   English   中英

Java 带setter getter的字符串数组

[英]Java string array with setter getter

我想为用户创建一个简单的程序,将 3 个字符串插入到 class 中的私有字符串数组中,然后通过使用 object 参考创建一个新的 object 将其打印回来,但我认为我是新人面临的问题。到 class 和 setter/getter)这是我到目前为止所拥有的:

import java.util.Scanner;
public class Stringtest {
public static void main(String[] args)
{   Scanner input=new Scanner(System.in);


   Stringer Strung=new Stringer();

    System.out.println("Strings:"+Strung.print());


}
}
class Stringer
{   Scanner input=new Scanner(System.in);
    private String[] aa=new String[3];
    aa[0]="zero";
    aa[1]="one";
    aa[2]="two";

    Stringer()
    {}

{  System.out.println("Please enter 3 strings:");

    for(int i=0;i<4;i++)
    {
        aa[i]=input.next();
    }
}

public  void setaa(String[] a)
{
    aa=a;
}

public String[] getaa()
{
    return aa;
}

public void print(String[] a)
{
    for(int b=0;b<4;b++)
    {
        System.out.printf("%s",a[b]);
    }
}

}
  1. 由于在创建 class 实例时填充了数组,因此您不需要任何设置器。 唯一的吸气剂需要。

  2. 将逻辑与跑步者分开。

  3. 循环时始终使用array.length()或使用简单for循环,否则您将收到indexOfBoudException错误。

  4. 不明白为什么在打印结果时使用printf()

    我的解决方案:

     import java.util.Scanner; public class App { public static void main(String[] args) { App.run(); } private static void run() { Stringer stringer = new Stringer(); stringer.print(stringer.getStrings()); } } class Stringer { private String[] strings = new String[3]; Stringer() { System.out.println("Please enter 3 strings:"); for (int i = 0; i < 4; i++) { Scanner scanner = new Scanner(System.in); strings[i] = scanner.next(); } } String[] getStrings() { return strings; } void print(String[] strings) { System.out.println("Strings are:"); for (String string: strings) { System.out.println(string); } } }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM