我是一名刚从Java开始的学生;我对看似简单的概念感到困惑,尽管有很多谷歌搜索,却很难找到答案。作业要求:
输出应该类似于:
这是我目前编码的内容。
sqrt
现在,程序可以收集用户的输入,将其放入数组中,然后将数组打印出来。
我接近这个错误的方式吗?我想不出我将如何修改最后一个For不仅仅打印所有名称,而是打印出每个人用“人X被命名...”,他们的名字,然后描述多少个字符他们的名字很长。
答案 0 :(得分:3)
int j = 1;
for(String peoples : myPeople)
{
System.out.println("Person " + j + " is named " + peoples + " and their name is " + peoples.length() + " characters long");
j++;
}
+
运算符用于串联字符串。
答案 1 :(得分:2)
你做得很好。在最后一个for循环中,您可以执行以下操作:
int personNumber = 0;
for(String people: myPeople)
{
System.out.println(String.format("Person %d is named %s, and their name is %d characters long", personNumber + 1, people, people.length());
personNumber++;
}
我注意到了一件事 - 为什么要使用new String[people + 1]
实例化数组?为什么这个额外的一个人?数组索引从0开始计算,因此new String[5]
将为您提供5个人的数组。
答案 2 :(得分:0)
首先,您应该创建一个大小为people
的数组,而不是people + 1
:
String[] myPeople = new String[people];
要以所需格式生成输出,您需要使用+
运算符将字符串连接在一起。此外,由于数组中人员的位置是必需的,您需要创建一个变量来存储:
int index = 1;
for (String person: myPeople) {
String output = "Person " + index + " is named " + person + ", and their name is " + person.length() + " characters long.";
System.out.println(output);
index++;
}
或者,您可以使用print
代替println
:(仅在for循环中显示代码)
System.out.print("Person ");
System.out.print(index);
System.out.print(" is named ");
System.out.print(person);
System.out.print(", and their name is ");
System.out.print(person.length());
System.out.println(" characters long.");
index++;