我目前正在寻求有关使用数组的一些帮助。对于 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);
}
}
虽然代码确实有效,但我想知道如何格式化数据,并且从单个元素而不是每个元素。或者即使如果我可以的话。谢谢,我很感谢花时间阅读这个问题。
最佳答案
您有两个问题:
- 如何引用数组元素?
- 如何格式化输出?
当你声明一个数组时
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 arrays和 on manipulating Strings .
希望有帮助
关于java - 读取包含各种数据的数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41655321/