我目前正在寻求使用数组的一些帮助。相当于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);
}
}
虽然代码确实有效,但我想知道如何格式化数据,以及从单个元素而不是每个元素。或者甚至如果可以的话。谢谢,我感谢您花时间阅读这个问题。
答案 0 :(得分:4)
你有两个问题:
声明类似
的数组时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 arrays和on 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);
}