Java 如何计算和列出数组中的奇数 公共类OddsAndEvens{ //对数组中的所有奇数进行计数 私有静态整数计数几率(整数[]数组){ 整数计数=0; for(int i=0;iI%2!=0)。toArray()建议OP始终根据使用大括号,大括号用于if、else、for、do和while语句,即使正文为空或仅包含一条语句。建议OP始终根据使用大括号,大括号用于if、else、for、do和while语句,即使主体为空或仅包含一条语句。
忽略与evens相关的代码。运行奇数数组时,只列出一个奇数,而不是第一个数组中的其他奇数以及两个零。我尝试了很多方法,但根本不会计算所有的奇数。看看这部分:Java 如何计算和列出数组中的奇数 公共类OddsAndEvens{ //对数组中的所有奇数进行计数 私有静态整数计数几率(整数[]数组){ 整数计数=0; for(int i=0;iI%2!=0)。toArray()建议OP始终根据使用大括号,大括号用于if、else、for、do和while语句,即使正文为空或仅包含一条语句。建议OP始终根据使用大括号,大括号用于if、else、for、do和while语句,即使主体为空或仅包含一条语句。,java,arrays,Java,Arrays,忽略与evens相关的代码。运行奇数数组时,只列出一个奇数,而不是第一个数组中的其他奇数以及两个零。我尝试了很多方法,但根本不会计算所有的奇数。看看这部分: public class OddsAndEvens { // counts all the odd numbers in the array private static int countOdds(int[] array) { int count = 0; for(int i = 0;
public class OddsAndEvens {
// counts all the odd numbers in the array
private static int countOdds(int[] array) {
int count = 0;
for(int i = 0; i < array.length; i++) {
if(array[i] % 2 == 1 && array[i] % 2 != 0) {
count++;
}
}
return count;
}
// returns an array with all the odd numbers
public static int[] getAllOdds(int[] array) {
int[] yaArray = new int[countOdds(array)];
int j = 0;
for(int i = 0; i < array.length; i++) {
if(array[i] % 2 == 1 && array[i] % 2 != 0) {
yaArray[j] = array[i];
}
j++;
}
return yaArray;
}
}
///////////////////////////////////////////////////////////
runner code
public class OddsAndEvensRunner {
public static void main(String args[]) {
System.out.println("Odds - " + Arrays.toString(OddsAndEvens.getAllOdds(new int[]{2,4,6,8,10,12,14})));
System.out.println("Evens - " + Arrays.toString(OddsAndEvens.getAllEvens(new int[]{2,4,6,8,10,12,14})));
System.out.println("\nOdds - " + Arrays.toString(OddsAndEvens.getAllOdds(new int[]{1,2,3,4,5,6,7,8,9})));
System.out.println("Evens - " + Arrays.toString(OddsAndEvens.getAllEvens(new int[]{1,2,3,4,5,6,7,8,9})));
System.out.println("\nOdds - " + Arrays.toString(OddsAndEvens.getAllOdds(new int[]{2,10,20,21,23,24,40,55,60,61})));
System.out.println("Evens - " + Arrays.toString(OddsAndEvens.getAllEvens(new int[]{2,10,20,21,23,24,40,55,60,61})));
}
}
请看这一部分:
public class OddsAndEvens {
// counts all the odd numbers in the array
private static int countOdds(int[] array) {
int count = 0;
for(int i = 0; i < array.length; i++) {
if(array[i] % 2 == 1 && array[i] % 2 != 0) {
count++;
}
}
return count;
}
// returns an array with all the odd numbers
public static int[] getAllOdds(int[] array) {
int[] yaArray = new int[countOdds(array)];
int j = 0;
for(int i = 0; i < array.length; i++) {
if(array[i] % 2 == 1 && array[i] % 2 != 0) {
yaArray[j] = array[i];
}
j++;
}
return yaArray;
}
}
///////////////////////////////////////////////////////////
runner code
public class OddsAndEvensRunner {
public static void main(String args[]) {
System.out.println("Odds - " + Arrays.toString(OddsAndEvens.getAllOdds(new int[]{2,4,6,8,10,12,14})));
System.out.println("Evens - " + Arrays.toString(OddsAndEvens.getAllEvens(new int[]{2,4,6,8,10,12,14})));
System.out.println("\nOdds - " + Arrays.toString(OddsAndEvens.getAllOdds(new int[]{1,2,3,4,5,6,7,8,9})));
System.out.println("Evens - " + Arrays.toString(OddsAndEvens.getAllEvens(new int[]{1,2,3,4,5,6,7,8,9})));
System.out.println("\nOdds - " + Arrays.toString(OddsAndEvens.getAllOdds(new int[]{2,10,20,21,23,24,40,55,60,61})));
System.out.println("Evens - " + Arrays.toString(OddsAndEvens.getAllEvens(new int[]{2,10,20,21,23,24,40,55,60,61})));
}
}
使用列表而不是数组。列表更适合使用 试着这样,
public static int[] getAllOdds(int[] array) // when
{
int[] yaArray = new int[countOdds(array)];
int j = 0;
for(int i = 0; i<array.length;i++)
{
if(array[i]%2==1)
{
yaArray[j]=array[i];
j++;
}
}
return yaArray;
}
publicstaticvoidmain(字符串[]args){
System.out.println(“赔率-”+数组.toString(getAllEvens(新的int[]{1,2,3,4,5,6,7,8,9}));
System.out.println(“Evens-”+array.toString(getAllods(新的int[]{1,2,3,4,5,6,7,8,9}));
}
公共静态对象[]GetAllods(int[]数组){
列表=新的ArrayList();
for(整数编号:数组){
如果(否%2!=0)
列表。添加(编号);
}
return list.toArray();
}
公共静态对象[]getAllEvens(int[]数组){
列表=新的ArrayList();
for(整数编号:数组){
如果(否%2==0)
列表。添加(编号);
}
return list.toArray();
}
您还可以返回
list
而不是list.toArray()
,以获得更好的列表。使用list而不是数组。列表更适合使用
试着这样,
public static int[] getAllOdds(int[] array) // when
{
int[] yaArray = new int[countOdds(array)];
int j = 0;
for(int i = 0; i<array.length;i++)
{
if(array[i]%2==1)
{
yaArray[j]=array[i];
j++;
}
}
return yaArray;
}
publicstaticvoidmain(字符串[]args){
System.out.println(“赔率-”+数组.toString(getAllEvens(新的int[]{1,2,3,4,5,6,7,8,9}));
System.out.println(“Evens-”+array.toString(getAllods(新的int[]{1,2,3,4,5,6,7,8,9}));
}
公共静态对象[]GetAllods(int[]数组){
列表=新的ArrayList();
for(整数编号:数组){
如果(否%2!=0)
列表。添加(编号);
}
return list.toArray();
}
公共静态对象[]getAllEvens(int[]数组){
列表=新的ArrayList();
for(整数编号:数组){
如果(否%2==0)
列表。添加(编号);
}
return list.toArray();
}
您也可以返回
list
而不是list.toArray()
,以获得更好的列表。您的代码有什么问题?如果(数组[i]%2==1和数组[i]%2!=0)是冗余的,不是吗?请使用调试器逐步执行您的程序。(我怀疑你会发现j++
在getAllOdds()
中的for
循环之外,不管它看起来如何。)很好的定位@dave返回IntStream.of(array).filter(I->I%2!=0)。toArray()代码>你的代码出了什么问题?如果(数组[i]%2==1和数组[i]%2!=0)
是多余的,不是吗?请使用调试器逐步执行你的程序。(我怀疑你会发现j++
在getAllOdds()
中的for
循环之外,不管它看起来如何。)很好的定位@dave返回IntStream.of(array).filter(I->I%2!=0)。toArray()
建议OP始终根据使用大括号,大括号用于if、else、for、do和while语句,即使正文为空或仅包含一条语句。建议OP始终根据使用大括号,大括号用于if、else、for、do和while语句,即使主体为空或仅包含一条语句。