Java 使用数组和列表的正确循环构造
在这个简单的示例中,我想创建一个字符串数组,填充每个人在数据库中的第一个和最后一个。我知道我遗漏了一些非常明显的东西,因为我一直在下面的循环方法中重写Java 使用数组和列表的正确循环构造,java,arrays,list,for-loop,Java,Arrays,List,For Loop,在这个简单的示例中,我想创建一个字符串数组,填充每个人在数据库中的第一个和最后一个。我知道我遗漏了一些非常明显的东西,因为我一直在下面的循环方法中重写I。再看一眼肯定会有帮助 /** * * @return */ public String[] buildFullNameContainer(){ List<Person> allPeople = Person.findAllPeople(); String[] peopleContainer = ne
I
。再看一眼肯定会有帮助
/**
*
* @return
*/
public String[] buildFullNameContainer(){
List<Person> allPeople = Person.findAllPeople();
String[] peopleContainer = new String[] {""};
String fullName = "";
for (int i = 0; i < peopleContainer.length; i++) {
for (Person person : allPeople) {
fullName = person.getFirstName() + " " + person.getLastName();
peopleContainer[i] = fullName;
}
}
return peopleContainer;
}
/**
*
*@返回
*/
公共字符串[]buildFullNameContainer(){
List allPeople=Person.findAllPeople();
String[]peopleContainer=新字符串[]{”“};
字符串fullName=“”;
for(int i=0;i
更换
String[] peopleContainer = new String[] {""};
与
另外,按如下方式编辑循环:
for(int i = 0; i < peopleContainer.length; i++)
{
Person person = allPeople.get(i);
fullName = person.getFirstName() + " " + person.getLastName();
peopleContainer[i] = fullName;
}
for(int i=0;i
您的数组始终只有一个元素-您应该将其创建为与列表相同的长度。此外,您无缘无故地得到了两个嵌套循环,而且我在fullName
变量中看不到任何意义。以下是我将使用的代码:
String[] peopleContainer = new String[allPeople.size()];
for (int i = 0; i < peopleContainer.length; i++) {
Person person = allPeople.get(i);
peopleContainer[i] = person.getFirstName() + " " + person.getLastName();
}
String[]peopleContainer=新字符串[allPeople.size()];
for(int i=0;i
我认为这需要改变:
String[] peopleContainer = new String[] {""};
致:
您在结果数组上循环,而不是在源数据集合上循环。首先必须正确调整数组的大小,然后循环调整数组或列表的大小。不需要嵌套的
public String[] buildFullNameContainer(){
List<Person> allPeople = Person.findAllPeople();
String[] peopleContainer = new String[allPeople.size()];
for (int i = 0; i < peopleContainer.length; i++) {
Person person = allPeople.get(i);
String fullName = person.getFirstName() + " " + person.getLastName();
peopleContainer[i] = fullName;
}
return peopleContainer;
}
public字符串[]buildFullNameContainer(){
List allPeople=Person.findAllPeople();
String[]peopleContainer=新字符串[allPeople.size()];
for(int i=0;i
试试这个
List<Person> allPeople = Person.findAllPeople();
String[] peopleContainer = new String[allPeople.size()];
for (int i=0;i < allPeople.size();i++;) {
Person person=allPeople.get(i);
fullName = person.getFirstName() + " " + person.getLastName();
peopleContainer[i] = fullName;
}
List allPeople=Person.findAllPeople();
String[]peopleContainer=新字符串[allPeople.size()];
for(int i=0;i
到底出了什么问题?有些东西不起作用吗?调用此函数后,在字符串数组中循环时,只有一个值method@Warz:您怎么会期望有多个元素?您正在创建一个以一个元素开始的数组,而数组永远不会扩展…如果我删除outter for循环,如何引用“i”,因为它不会在开始时初始化int i
。在peopleContainer[i]=fullName中代码>行,将i
更改为i++
。最佳答案是,它消除了不必要的内部for循环。几天后就会接受
public String[] buildFullNameContainer(){
List<Person> allPeople = Person.findAllPeople();
String[] peopleContainer = new String[allPeople.size()];
for (int i = 0; i < peopleContainer.length; i++) {
Person person = allPeople.get(i);
String fullName = person.getFirstName() + " " + person.getLastName();
peopleContainer[i] = fullName;
}
return peopleContainer;
}
List<Person> allPeople = Person.findAllPeople();
String[] peopleContainer = new String[allPeople.size()];
for (int i=0;i < allPeople.size();i++;) {
Person person=allPeople.get(i);
fullName = person.getFirstName() + " " + person.getLastName();
peopleContainer[i] = fullName;
}