数组字符串编号 PackageJavaApplication1; /** * *@作者 */ 公共类JavaApplication1{ /** *@param指定命令行参数 */ 公共静态void main(字符串[]args){ int[]分数={1,2,3,4,5,6}; int[]fin=抽取的所有分数(分数); 对于(inti=0;i
您的上一个循环使用1作为固定循环索引数组字符串编号 PackageJavaApplication1; /** * *@作者 */ 公共类JavaApplication1{ /** *@param指定命令行参数 */ 公共静态void main(字符串[]args){ int[]分数={1,2,3,4,5,6}; int[]fin=抽取的所有分数(分数); 对于(inti=0;i,java,arrays,Java,Arrays,您的上一个循环使用1作为固定循环索引 改为i。分数[1]%2==0和新闻核心[1]=分数[i] 您已硬编码为仅使用newArray的索引1(第二个元素) 您可能应该使用j作为索引,而不是1像这样更改第二个for循环- package javaapplication1; /** * * @author */ public class JavaApplication1 { /** * @param args the command line arguments
改为i。
分数[1]%2==0
和新闻核心[1]=分数[i]
您已硬编码为仅使用newArray
的索引1
(第二个元素)
您可能应该使用
j
作为索引,而不是1
像这样更改第二个for循环-
package javaapplication1;
/**
*
* @author
*/
public class JavaApplication1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int[] scores = {1,2,3,4,5,6};
int[] fin = extractAllEvens(scores);
for(int i =0; i<fin.length; i++) {
System.out.println(fin[i]);
}
}
public static int[] extractAllEvens(int[]scores) {
int evenCount = 0;
for (int i =0; i<scores.length; i++) {
if (scores[i] % 2 ==0) {
evenCount++;
}
}
int[] newScores = new int[evenCount];
int j = 0;
for(int i = 0; i<scores.length; i++) {
if(scores[1] % 2 ==0) {
newScores[1] = scores[i];
j++;
}
}
return newScores;
}
}
for(int i=0;i
干杯!而不是
for (int i = 0; i < scores.length; i++) {
if (scores[i] % 2 == 0) {
newScores[j] = scores[i];
j++;
}
}
应该是
if(scores[1] % 2 ==0) {
newScores[1] = scores[i];
O/p:246嗯,一个应该是我,另一个应该是j:)你是对的。而真正吸引我们的是:op首先应该尝试编写更少混乱的代码:-)
if(scores[i] % 2 ==0) {//← i here
newScores[j] = scores[i];//← j here