在包含各种数据的同时读取数组的元素

时间:2017-01-14 21:44:59

标签: java arrays

我目前正在寻求使用数组的一些帮助。相当于Java语言的新手,请原谅我对编程格式的不良礼仪,并且我要感谢所提供的任何答案。

我目前与Array的争吵是如何从任何数组元素中获取数据。目前我使用方法 System.out.println(Arrays.toString(listarray)),但这种方法的问题在于它不一定是用户友好的,它不可能是格式化(对我的小知识)。因此,我想请求有关如何从数组元素中获取数据的帮助,并将其置于某种方式以便任何给定用户可读。

以下是我正在使用的代码:

import java.util.Arrays;
import java.util.Scanner;

public class principal { 

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Array Example");
    String[] listarray = new String[10];
    int i = 0;
    byte op;        
    do {
    System.out.println("Select your option:");
    System.out.println("1-Add");
    System.out.println("2-Check");
    System.out.println("3-Change");
    op = input.nextByte();
        switch (op) {
        case 1:
            input.nextLine();
            System.out.println("First String:");
            String a1 = input.nextLine();
            System.out.println("Second String:");
            String a2 = input.nextLine();
            System.out.println("Third String:");
            String a3 = input.nextLine();
            System.out.println("(" + (i + 1) + "/10)");
            listarray[i] = a1 + a2 + a3;
            i++;
            break;

        case 2:
            System.out.println(Arrays.toString(listarray));
            break;
        }
    }while(op != 9);

}
}

虽然代码确实有效,但我想知道如何格式化数据,以及从单个元素而不是每个元素。或者甚至如果可以的话。谢谢,我感谢您花时间阅读这个问题。

2 个答案:

答案 0 :(得分:4)

你有两个问题:

  1. 你如何引用数组元素?
  2. 如何格式化输出?
  3. 声明类似

    的数组时
    String[10] names;
    

    你有一个可以容纳10个字符串的数组,编号为0到9.要引用第五个元素(记住数组索引从0开始),你可以使用

    names[4]
    

    您可以通过参考做各种事情。如果你把它放在等号的右边,那么你将把该元素的值赋给其他东西。

    currentName = names[4];
    

    如果你把它放在左侧,你就要为那个元素分配一些东西。

    names[4] = "Michael";
    

    如果你把它放在println语句中,它会将值输出到println语句当时放置的位置,通常是控制台:

    System.out.println(names[4]);
    

    非常适合参考。顺便说一下,这就是所谓的 - 您正在引用数组的第5个元素,或者您正在引用数组的指示元素。您还可以将数字放在变量中:

    var i = 4;
    System.out.println[i];
    

    请注意,这些引用的大部分用法都假定数组中有该元素。在那里分配某些东西之前,该元素为空。

    要进行格式化,我建议(仔细)查看Format / Formatter类并选择一些简单的东西来做你想要的。例如,您可以:

    String formatString = "The name is currently %s.";
    String outputString = String.format(formatString, names[i]);
    

    和字符串的format方法将替换格式中names[i]的{​​{1}}中的任何内容。还有一些内联,双打和日期格式。

    有关详细信息,请参阅Oracle教程on arrayson manipulating Strings

    希望有所帮助

答案 1 :(得分:0)

如果你想遍历数组,你可以这样做: -

for(int i = 0; i < listArray.length; i++) {
    System.out.println(listArray[i]);
}   

 for (String s : listArray) {
    System.out.println(s);
 }