我怎样才能使这个java代码更有效

时间:2015-12-26 12:45:06

标签: java

不要批评,因为这是我的第一份工作计划 我想知道它是否好,以及如何在性能和内存消耗方面提高效率

这是我的代码:

package leren;
import java.util.Scanner;

public class Calculator3 {

static boolean again =true;
static Scanner keyIn = new Scanner(System.in);
public static void main(String args[]){

        double in1, in2;
        char operator;

    while(again = true){
    System.out.println("Type your first number:");
    in1 = keyIn.nextDouble();
    System.out.println("Type your second number:");
    in2 = keyIn.nextDouble();
    System.out.println("Type your operator");
    operator = keyIn.next().charAt(0);

        switch(operator){
        case '+':
            System.out.println("your result is:"+(in1 + in2));
            Timer();
            again();
            break;

        case '-':
            System.out.println("your result is:"+(in1 - in2));
            Timer();
            again();
            break;

        case '/':
            System.out.println("your result is:"+(in1 / in2));
            Timer();
            again();
            break;

        case '*':
            System.out.println("your result is:"+(in1 * in2));
            Timer();
            again();
            break;

        }
    }
}
public static void Timer(){
    try{
        Thread.sleep(1500);
    }
    catch(Exception e){
    }
}
public static void again(){

    char YoN;
    System.out.println("do you wanna do this again?[Y | N]");
    YoN = keyIn.next().charAt(0);
    switch(YoN){
    case 'Y':
        String[] args = {};
        Calculator3.main(args);
        break;
    case 'N':
        System.out.println("well get out of here");
        Timer();
        System.exit(0);
        }
    }
}

任何帮助都可以帮助我更好地理解这些事情。

1 个答案:

答案 0 :(得分:2)

此版本的内存效率不高,速度也不快。

这个版本更易于人们阅读和理解,包括几个月后你自己。

我将大部分代码放入您的课程中。除了main之外,我摆脱了静态方法。我把你的代码分解成了方法。我还修复了你的while语句,因此你不必一遍又一遍地启动应用程序。

这是代码。

select
    ...
from
    Products
        inner join   <-- or left outer join if wanting to include propertyless products
    Properties
        on (Products.id = Properties.id)
where
    ...