java - 读取包含各种数据的数组元素

标签 java arrays

我目前正在寻求有关使用数组的一些帮助。对于 Java 语言来说,我是个新手,所以请原谅我对编程格式的不礼貌,我衷心感谢您提供的任何答案。

我目前与数组的争论是如何从任何数组元素中获取数据。目前我使用方法 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);

}
}

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

最佳答案

您有两个问题:

  1. 如何引用数组元素?
  2. 如何格式化输出?

当你声明一个数组时

String[10] names;

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

names[4]

您可以根据引用做各种事情。如果将它放在等号的右侧,那么您就是将该元素的值分配给其他元素。

currentName = names[4];

如果将其放在左侧,则表示正在为该元素分配一些内容。

names[4] = "Michael";

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

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

引用就这么多。顺便说一句,这就是它的名字——您正在引用数组的第五个元素,或者您正在引用数组的指定元素。您还可以将数字放入变量中:

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

请注意,引用的大多数使用都假设数组的该元素中有某些内容。在对该元素进行赋值之前,该元素为空。

要格式化,我建议(仔细)查看 Format/Formatter 类并选择一些简单的事情来完成您想要的操作。例如,您可以:

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

和 String 的 format 方法将用 names[i] 中的内容替换格式中的 %s 。还有整数、 double 和日期的格式。

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

希望有帮助

关于java - 读取包含各种数据的数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41655321/

相关文章:

c - 当编译时宽度未知时,如何编写接受二维数组的函数?

javascript - 包含对象的数组,在对象内是未定义的

java - 玩家 Sprite 在 Java 2D 游戏中不会移动(重绘)

java - JOOQ 中带有列表的 IN 谓词仅返回第一个值

javascript - 判断数组是否包含值

java - 简单的数组类工作但给出错误的输出

c# - 将 C# 类数组作为结构数组编码到 C

java - Proguard - 有什么方法可以忽略外部库中不兼容的(由于 Java 字节码版本)包?

java - 助记符如何与单选按钮一起使用

java - 客户端/服务器 - 如何将协议(protocol)与网络逻辑分开?