高级计算器java脚本问题

时间:2016-07-31 05:52:13

标签: calculator

我正在尝试制作一个计算器,其中有许多选项可以做,但是当我尝试连续输入时,我遇到了一些问题。  帮帮我下面给出了代码。错误显示,“变量输入可能尚未初始化,尽管我已初始化它。看看:

import java.util.*;
class Calculator
{
public static void main(String Args[])
{
int a,func,input;double digit;
System.out.println("THIS IS HOW CALCULATOR WORKS");
do
{
System.out.println("\n\n\n1. Add\n2. Subtract\n3. Divide\n4. Multiply\n5.     Square\n6. Square root\n7. Cube\n8. Cube root\n9. Continue\n10. Exit");
System.out.print("\nEnter the serial no. of the operation you would like to perform : ");
Scanner sc=new Scanner(System.in);
a=sc.nextInt();
if(a==1)
{
System.out.println("Enter the number you want to add");
input=sc.nextInt();
System.out.println("Enter number to be added");
func=sc.nextInt();
digit= input+func;
System.out.println("Final Answer:"+digit);
}
if(a==2)
{
System.out.println("Enter the number you want to subtract");
input=sc.nextInt();
System.out.println("Enter number to be subtracted");
func=sc.nextInt();
digit= input-func;
System.out.println("Final Answer:"+digit);
}
if(a==3)
{
System.out.println("Enter the number you want to divide");
input=sc.nextInt();
System.out.println("Enter number to be divide");
func=sc.nextInt();
digit= input/func;
System.out.println("Final Answer:"+digit);
}
if(a==4)
{
System.out.println("Enter the number you want to multiply");
input=sc.nextInt();
System.out.println("Enter number to be multiplied");
func=sc.nextInt();
digit= input*func;
System.out.println("Final Answer:"+digit);
}
if(a==5)
{
System.out.println("Enter the number you want to square");
input=sc.nextInt();
digit= Math.pow(input,2);
System.out.println("Final Answer:"+digit);
}
if(a==6)
{
System.out.println("Enter the number you want to square root");
input=sc.nextInt();
digit=Math.sqrt(input);
System.out.println("Final Answer:"+digit);
}
if(a==7)
{
System.out.println("Enter the number you want to cube");
input=sc.nextInt();
digit= Math.pow(input,3 );
System.out.println("Final Answer:"+digit);
}
if(a==8)
{
System.out.println("Enter the number you want to cube root");
input=sc.nextInt();
digit= Math.cbrt(input);
System.out.println("Final Answer:"+digit);
}
if(a==9)
{
System.out.println("\n\n\n1. Add\n2. Subtract\n3. Divide\n4. Multiply\n5. Square\n6. Square root\n7. Cube\n8. Cube root\n9. Exit");
System.out.print("\nEnter the serial no. of the operation you would like to perform : ");
int double digit;
int a=sc.nextInt();
if(a==1)
{
System.out.println("Enter the number you want to add");
input=sc.nextInt();
System.out.println("Enter number to be added");
func=sc.nextInt();
digit= input+func;
System.out.println("Final Answer:"+digit);
}
if(a==2)
{
System.out.println("Enter number to be subtracted");
func=sc.nextInt();
digit= input-func;
System.out.println("Final Answer:"+digit);
}
if(a==3)
{
System.out.println("Enter number to be divide");
func=sc.nextInt();
digit= input/func;
System.out.println("Final Answer:"+digit);
}
if(a==4)
{
System.out.println("Enter number to be multiplied");
func=sc.nextInt();
digit= input*func;
System.out.println("Final Answer:"+digit);
}
if(a==5)
{
digit= Math.pow(input,2);
System.out.println("Final Answer:"+digit);
}
if(a==6)
{
digit=Math.sqrt(input);
System.out.println("Final Answer:"+digit);
}
if(a==7)
{
digit= Math.pow(input,3 );
System.out.println("Final Answer:"+digit);
}
if(a==8)
{
digit= Math.cbrt(input);
System.out.println("Final Answer:"+digit);
}
if(a==9)
{
System.out.println("Thank you for using calculator");
}
}
if(a==10)
{
    System.out.println("Thank you for using the calculator");
break;
}
}while(a!=9);
}
}

1 个答案:

答案 0 :(得分:0)

是的,但是你的语句初始化输入都在块内。如果a不是上述内容怎么办?您必须提供输入的默认值。否则,如果a不是1-9,则不会有。