Java 为什么loop没有做好它的工作?
所以我有这个代码,出于某种原因,它返回的Java 为什么loop没有做好它的工作?,java,Java,所以我有这个代码,出于某种原因,它返回的字符串[]总是用一个“s”填充。我希望它在每个字符串的末尾添加一个“s”,如果数组中的值为null,则将其设置为单个“s” 公共静态字符串[]填充数组(列表){ String[]输出=新字符串[list.size()]; 对于(inta=0;aif(输出[a]==null){ 需要 if(list.get(a)==null){ 因为前者总是null,因为这就是您要填充的内容。if(output[a]==null){ 需要 if(list.get(a)==n
字符串[]
总是用一个“s”填充。我希望它在每个字符串的末尾添加一个“s”,如果数组中的值为null,则将其设置为单个“s”
公共静态字符串[]填充数组(列表){
String[]输出=新字符串[list.size()];
对于(inta=0;aif(输出[a]==null){
需要
if(list.get(a)==null){
因为前者总是null
,因为这就是您要填充的内容。if(output[a]==null){
需要
if(list.get(a)==null){
因为前者总是空的,因为这就是你要填充的。输出[a]总是空的,因为你还没有填充它。输出[a]总是空的,因为你还没有填充它。输出[a]==null
总是空的,它应该是列表。get(a)==null
输出[a]==null
始终为null,它应该是list.get(a)==null
您混淆了列表和输出。您的检查是如果输出[a]==null,这始终是真的。您希望'if(list.get(a)==null)新字符串[list.size()]
创建一个字符串[]
充满null
。这使您可以对输出进行测试[a] ==null
始终计算为true
@KoosGadellaa谢谢!我只是犯了一个愚蠢的错误,我想…VTC是印刷错误-不太可能对未来的用户有帮助。@CristianMeneses差不多,因为您需要将null
替换为“s”
您混淆了列表和输出。您的检查是是否输出[a]==null,始终为真。您希望“if(list.get(a)==null)新字符串[list.size()]
创建一个字符串[]
充满null
。这使您的测试输出[a]==null
始终计算为true
@KoosGadellaa谢谢!我想我犯了一个愚蠢的错误…VTC是印刷错误-不太可能对未来的用户有帮助。@CristianMeneses差不多,因为你需要用s
替换null
public static String[] fillArray( List<String> list ){
String[] output = new String[list.size()];
for(int a=0; a<output.length; a++){
if( output[a]==null){
output[a] = "s";
}else{
output[a]= list.get(a) + "s";
}
}
return output;
}