Так что я чрезвычайно новичок в java, просто начал сегодня пару часов назад. И я понятия не имею, что с этим делать; до сих пор мой код:Что не так с моим кодом java для вычисления факториалов?
import java.util.Scanner;
public class Class_one{
static Scanner userInput = new Scanner(System.in);
public static void main(String[] args){
int[] listArray;
System.out.print("Please enter the number to calculate the factorial for: ");
if (userInput.hasNextInt()){
int numEnter = userInput.nextInt();
final int numEnterC = numEnter;
if (numEnter >= 0){
listArray = new int[numEnterC];
int arrayVal = 0;
while (numEnter >= 0){
listArray [arrayVal] = numEnter;
arrayVal++;
numEnter = numEnter - 1;
if (numEnter == 0){
break;
}
}
while (arrayVal >= -1){
int newArVal = listArray[arrayVal]*listArray[arrayVal - 1];
newArVal = listArray[arrayVal];
arrayVal = arrayVal - 1;
}
//I don't know what's happening in the next line:
String nArVals = Integer.toString(newArVal));
System.out.println(nArVals + " is the result of the factorial operations of " + numEnterC);
}
if (numEnter == 0){
System.out.println("1");
}
if (numEnter <= 0){
System.out.println("Negatives unavailable for factorial.");
}
}
}
}
Так что я делаю неправильно? Я не хочу, чтобы вы, ребята, просто вставляли ответ, я хочу понять это сам, так что вы могли бы дать мне подсказку или не прямой ответ для меня, чтобы понять это самостоятельно?
Вот сообщение об ошибке я получаю (я использую Eclipse):
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
newArVal cannot be resolved to a variable.
Syntax error on token ")", delete this token.
at project_one.Class_one.main(Class_one.java:27)
Где ваша декларация 'newArVal'? – Taelsin
Разве это уже не объявлено? Или мне нужно объявить каждое int как * int имя int; *? – VividCore
Ха-ха, извините, это был намек. Я не уверен, как я могу больше намекнуть, не констатируя ответ. – Taelsin