Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除变量以便在java中重用它们_Java - Fatal编程技术网

如何删除变量以便在java中重用它们

如何删除变量以便在java中重用它们,java,Java,我正在制作一个理论上应该能够超过正常整数极限的计算器,现在我正在制作一个更小的测试版本。我经常需要携带一个像乘法一样的数字,但我一遍又一遍地使用同一个变量,我希望能够清除这些变量,以便在我的计算器中重用它们 import java.util.Scanner; import java.util.LinkedList ; public class mass_mulitplication_software { public static void multiply () { Scanner

我正在制作一个理论上应该能够超过正常整数极限的计算器,现在我正在制作一个更小的测试版本。我经常需要携带一个像乘法一样的数字,但我一遍又一遍地使用同一个变量,我希望能够清除这些变量,以便在我的计算器中重用它们

import java.util.Scanner; 
import java.util.LinkedList ;
public class mass_mulitplication_software {
public static void multiply () {
    Scanner keyboard = new Scanner (System.in);


    //multiplication#1
    System.out.println("ones place");
    double fnum1 = keyboard.nextDouble() ; 
    System.out.println("tens place");
    double fnum2 = keyboard.nextDouble() ; 
    System.out.println("hundreds place");
    double fnum3 = keyboard.nextDouble() ;
    //multiplication#2


    System.out.println("ones place");
    double snum1 = keyboard.nextDouble() ; 
    System.out.println("tens place");
    double snum2 = keyboard.nextDouble() ; 
    System.out.println("hundreds place");
    double snum3 = keyboard.nextDouble() ;

    tnum=fnum1*snum1;
    mass_mulitplication_software.carry();

    tnum=fnum1*snum2;
    mass_mulitplication_software.carry();
    tnum=fnum1*snum3;
    mass_mulitplication_software.carry();
    tnum=fnum2*snum1;
    mass_mulitplication_software.carry();
    tnum=fnum2*snum2;
    mass_mulitplication_software.carry();               
    tnum=fnum2*snum3;
    mass_mulitplication_software.carry();
    tnum=fnum3*snum1;
    mass_mulitplication_software.carry();
    tnum=fnum3*snum2;
    mass_mulitplication_software.carry();
    tnum=fnum3*snum3;
    }   

  public static double carry(){
    if (tnum>10){
    double mnum= tnum%10;
    double mmnum = tnum- mnum ;
    double cnum = mmnum/10 ;
    return cnum;}

   public static void main(String[] args) {
    mass_mulitplication_software.multiply();
}   }

也请考虑我是一个新手程序员,刚刚开始编写代码,希望改进我的旧计算器以获取更大的数字。这是一个小版本的原型,它是一个小版本,特别是有人知道如何清除一个双变量,这样它就可以与另一个不同的< < /p> < p>重复使用。选择该选项后,所有数字都有一个将这些变量设置为0的方法。此菜单将进入主方法

看起来您可能希望菜单使用while循环,所以您可以使用不同的值重复这个过程

比如:

int menuChoice = -1;

        while (menuChoice < 1 || menuChoice > 8) {

            System.out.println();
            System.out.println("Menu");
            System.out.println("1. Add");
            System.out.println("2. Subtract");
            System.out.println("3. Multiply");
            System.out.println("4. Divide");
            System.out.println("5. Power");
            System.out.println("6. Logarithm");
            System.out.println("7. Clear");
            System.out.println("8. Quit");
            System.out.println();
            System.out.print("What would you like to do? ");

            menuChoice = input.nextInt();

            if (menuChoice < 1 || menuChoice > 8) {
                System.out.println(menuChoice + " wasn't one of the options");
            }
        }

        return menuChoice;
}
int menuChoice=-1;
而(menuChoice<1 | | menuChoice>8){
System.out.println();
System.out.println(“菜单”);
System.out.println(“1.Add”);
System.out.println(“2.Subtract”);
System.out.println(“3.乘法”);
System.out.println(“4.Divide”);
System.out.println(“5.Power”);
System.out.println(“6.对数”);
System.out.println(“7.Clear”);
System.out.println(“8.Quit”);
System.out.println();
System.out.print(“您想做什么?”);
menuChoice=input.nextInt();
如果(menuChoice<1 | | menuChoice>8){
System.out.println(menuChoice+“不是选项之一”);
}
}
返回menuChoice;
}
这是我正在使用的计算器的菜单。您可以使用if语句根据用户输入的内容执行适当的功能。因此,您可以使用一个菜单选项进行乘法,并让用户在每个变量中为您的数字输入值

实际上,您不必清除变量——执行函数后,菜单将在执行操作后再次显示,因为在while循环之前,menuChoice被初始化为-1。用户只需选择一个选项,并在这些变量中输入新值,这些值将替换旧值


您可能只想使用unsigned long long int作为变量类型,因为它的范围是从0到18446744073709551615。您使用的方法似乎过于复杂。

您可以创建一个带有清除所有数字选项的菜单,选择该选项后,使用一个方法将这些变量设置为0。此菜单将进入主方法

看起来您可能希望菜单使用while循环,所以您可以使用不同的值重复这个过程

比如:

int menuChoice = -1;

        while (menuChoice < 1 || menuChoice > 8) {

            System.out.println();
            System.out.println("Menu");
            System.out.println("1. Add");
            System.out.println("2. Subtract");
            System.out.println("3. Multiply");
            System.out.println("4. Divide");
            System.out.println("5. Power");
            System.out.println("6. Logarithm");
            System.out.println("7. Clear");
            System.out.println("8. Quit");
            System.out.println();
            System.out.print("What would you like to do? ");

            menuChoice = input.nextInt();

            if (menuChoice < 1 || menuChoice > 8) {
                System.out.println(menuChoice + " wasn't one of the options");
            }
        }

        return menuChoice;
}
int menuChoice=-1;
而(menuChoice<1 | | menuChoice>8){
System.out.println();
System.out.println(“菜单”);
System.out.println(“1.Add”);
System.out.println(“2.Subtract”);
System.out.println(“3.乘法”);
System.out.println(“4.Divide”);
System.out.println(“5.Power”);
System.out.println(“6.对数”);
System.out.println(“7.Clear”);
System.out.println(“8.Quit”);
System.out.println();
System.out.print(“您想做什么?”);
menuChoice=input.nextInt();
如果(menuChoice<1 | | menuChoice>8){
System.out.println(menuChoice+“不是选项之一”);
}
}
返回menuChoice;
}
这是我正在使用的计算器的菜单。您可以使用if语句根据用户输入的内容执行适当的功能。因此,您可以使用一个菜单选项进行乘法,并让用户在每个变量中为您的数字输入值

实际上,您不必清除变量——执行函数后,菜单将在执行操作后再次显示,因为在while循环之前,menuChoice被初始化为-1。用户只需选择一个选项,并在这些变量中输入新值,这些值将替换旧值


您可能只想使用unsigned long long int作为变量类型,因为它的范围是从0到18446744073709551615。你使用的方法似乎过于复杂。

< P>正如前面的评论者所说的,考虑使用BigType或无符号int。将每个输入放入自己的变量中,它将使你的生活变得简单很多,而你不需要<代码> CARY()/<代码>方法。< /P>

除此之外,有几点要指出,你称之为“代码> CARY())/>代码>方法,但在它返回的两倍中不做任何事情,在这种情况下,<代码> TNUM < /代码>将始终等于<代码> fNUM3*SnUn3

> P>以前的评论者说,考虑使用BigType或UnStand int,并将每个输入放入它自己的变量中,它会让你的生活变得更轻松,而且你不需要使用
carry()
方法


除此之外,有几点要指出,你称之为“代码> CARY())/>代码>方法,但在它返回的两倍中不做任何事情,在这种情况下,<代码> TNUM < /代码>将始终等于<代码> fNUM**SnUn3

> P>你可以考虑使用数组来存储变量的数字,而不是试图保存单个变量中的所有数字。这将使您在执行
carry()
borrow()
操作时更容易对其进行迭代,因为这些操作可能需要在数字长度上下移动值

然后,你可以,比方说,用一个数组进行乘法和除法运算