初始化变量
问题描述:
import java.util.Scanner;
public class ExponentExperiment
{
public static void main(String [] args)
{
int numberOne;
int B;
int C;
Scanner keyBoard = new Scanner(System.in);
System.out.println("Enter an Integer");
numberOne = keyBoard.nextInt();
jordan(numberOne, B);
carter(numberOne, B, C);
System.out.println(numberOne + " squared is " + B);
System.out.println(numberOne + " cubed is " + C);
}
public static int jordan(int numberOne, int B)
{
B = numberOne * numberOne;
return B;
}
public static int carter(int numberOne, int B, int C)
{
C = B * numberOne;
return C;
}
}
错误:初始化变量
H:\ ExponentExperiment.java:13:变量B可能还没有被初始化 约旦(的Numberone,B); ^ H:\ ExponentExperiment.java:14:变量C可能未被初始化 卡特(numberOne,B,C); ^ 2个错误
工具与退出代码完成1
答
,你必须INT B;和int C;在你的主要方法的顶部,做
int B = 0;
int C = 0;
所以它们被初始化。
+0
这似乎工作。但将声明变量为0不会搞砸该程序? – JavaNovice
+0
不是,因为当你调用这些方法时,你将会使用B和C变量,所以它将会更新它们的值 – user2277872
答
为什么你不使用你的返回值?
import java.util.Scanner;
public class ExponentExperiment
{
public static void main(String [] args)
{
int numberOne;
int b = 0;
int c = 0;
Scanner keyBoard = new Scanner(System.in);
System.out.println("Enter an Integer");
numberOne = keyBoard.nextInt();
b = jordan(numberOne);
c = carter(numberOne, b);
System.out.println(numberOne + " squared is " + b);
System.out.println(numberOne + " cubed is " + c);
}
public static int jordan(int numberOne)
{
return (numberOne * numberOne);
}
public static int carter(int numberOne, int b)
{
return (b * numberOne);
}
}
您可以通过以下来改进您的问题:http://stackoverflow.com/help/mcve –