首先,我的程序没有编译。有任何想法吗?我不知道为什么,我的Eclipse程序还没有工作......
另外,我如何得到我的" isLucky"遍历我的数组的方法?
我是否在主方法中正确打印出结果?
import java.util.Scanner;
public class FunArrays {
public static void main(String[] args) {
luckyNumber1 = 7;
luckyNumber2 = 13;
luckyNumber3 = 18;
int[] a=new int[10];
Scanner sc=new Scanner(System.in);
System.out.println("Please enter numbers...");
for(int j = 0; j < a.length; j++)
a[j] = sc.nextInt();
boolean b = isLucky(a);
int result;
if(b)
result = sum(a);
System.out.println(sum(a))
else
result = sumOfEvens(a);
System.out.println(sumOfEvens(a))
}
public static int sum(int [ ] value)
{
int i, total = 0;
for(i=0; i<10; i++)
{
total = total + value[ i ];
}
return (total);
}
static int sumOfEvens(int array[])
{
int sum = 0;
for(int i = 0; i < array.length; i++) {
if(array[i] % 2 == 0)
sum += array[i];
}
return sum;
}
public static boolean isLucky (int[] array)
{
if ( array[i] == 7 || array[i] == 13 || array[i] == 18 )
return true;
else
return false;
}
// write the static methods isLucky, sum, and sumOfEvens
}
答案 0 :(得分:0)
您的编译器错误'else' without 'if'
是因为您有类似这样的内容:
if(isOkay)
doSomething();
andThenDoSomethingElse();
else
doAnotherThing();
andEvenSomethingElse();
你必须将每个块放在花括号中,如下所示:
if(isOkay) {
doSomething();
andThenDoSomethingElse();
} else {
doAnotherThing();
andEvenSomethingElse();
}
我强烈建议在所有if
s(以及whiles
和for
及其他所有内容中使用大括号),即使只有一个语句也是如此。
可以在此问题中找到更多信息: Else without if
答案 1 :(得分:0)
老实说,没有规定我们必须使用代码块。语法通常表示,在我们读取之后,如果您的条件包含多个语句,我们只查找一个语句,那么我们必须阻止该代码,另一件事是在您输入方法条件然后语句时尝试保留该缩进。我喜欢写简单的路线来获得你想要的输出。想想你为什么要发送这些方法数组?什么阻止你简单地循环你的main方法并将每次迭代传递给这些方法总结幸运,甚至......你的变量通常应该在方法的顶部或开头初始化,以便在方法执行的生命周期中使用它们.Below显然不是编译就绪的代码,但是这将使你在正确的地方找到理解这个问题而不是使用括号。
boolean isLucky;
int[] IntegerArray;
Scanner scan;
//Final for constant values Typically these would be in all uppercase to indicate to
//other that this is a final anywhere
//in this class those will stick out.
final int luckyOne = 7;
final int luckyTwo = 13;
final int luckyThree = 18;
for(int i=0;i<IntegerArray.length;i++){
//snag me Boolean value for this number
isLucky();
if(isLucky)//example of completely legal if statement adding a system.out statement
//means yes i have to block this
sum(i);
else
even(i);
}