我在执行这个程序时遇到问题,我必须让Java在已经在命令行中输入的整数数组中返回正数的数量。
public class A1Q1 {
private static int countPositive(int[] array) {
int positive = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] > 0) {
positive = positive + 1;
}
System.out.println(positive);
}
return positive;
}
public static void main(String args[]) {
int[] array = new int[]{5, 6, 7, 45, -2, -9};
int count = countPositive(array);
System.out.println(count);
}
}
答案 0 :(得分:2)
你的程序有很多问题试试这段代码:
private static int countPositive(int[] array) {
int positive = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] > 0) { //should be greater than 0
positive++;
}
}
return positive;
}
public static void main(String args[]) {
int[] array = new int[]{5, 6, 7, 45, -2, -9};
int count = countPositive(array);
System.out.println(count);
}
<强>第一强>
如果你在同一个班级,你不需要再次实例化
像这样你在这里做:public static void main(String args[]) {
A1Q1 nt = new A1Q1();
<强>第二强>
您应该在循环中使用相同的方法名称:
//-----------------------------------this name--
private static int countPositive(int[] array) {
for (int i = 0; i < array.length; i++) {
你可以在这里启动java:
关于数组:
答案 1 :(得分:0)
Java 7或之前:
private static int countPositive(int[] array) {
int positive = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] > 0) {
positive = positive + 1;
}
}
return positive;
}
Java 8版本:
private static int countPositive(int[] array) {
return (int) Arrays.stream(array).filter(number -> number > 0).count();
}
主要方法没有变化。