2016-04-22 1 views
0

以下のコードは、動作させる方法で機能します。私はちょうど私が必要以上の量のメモリを使用しているかどうかを見たいと思っていました。私は自分のキャリアとしてプログラミングに行きたいので、そこにいる専門家の話を聞いていいですね。このプログラムでメモリを使いやすくすることはできますか?

import java.util.*; 
public class GuessingGame { 
    public static void main(String[] args) { 
     int counter = 0, number, guess, yes = 1, no =2, answer; 

     Scanner input = new Scanner(System.in); 

     number = ((int) (Math.random() * 100)); 

     System.out.println("Would you like to play the guessing game?"); 
     System.out.println("Enter " + yes + " for yes, and enter " + no + " for no"); 
     answer = input.nextInt(); 

     if(answer == no) { 
      return; 
     } else { 
      while (answer == yes) { 
      System.out.println("Welcome to the guessing game"); 
      System.out.println("There has been a number between 1 and 100 picked \n You have five chances to guess the number"); 
      System.out.print("Please enter your guess >> "); 
      guess = input.nextInt(); 

      while (guess != number) { 
       if (guess != number) { 
        counter = ++counter; 
       } 
       if (counter == 5) { 
        System.out.println("You have used all your guesses"); 
        System.out.println("The number was " + number); 
        System.out.println("Would you like to play again?"); 
        System.out.println("Enter " + yes + " for yes and " + no + " for no"); 
        answer = input.nextInt(); 
        counter = -1; 
        if (answer == no) 
        return; 
       } else if (guess < number) { 
        System.out.println("You need to guess higher"); 
        System.out.println("You have used " + counter + " guess(es)"); 
        System.out.println("Please enter your new guess"); 
        guess = input.nextInt(); 
       } else if (guess > number) { 
        System.out.println("You need to guess lower"); 
        System.out.println("You have used " + counter + " guess(es)"); 
        System.out.println("Please enter your new guess"); 
        guess = input.nextInt(); 
       } 

      } 
      System.out.println("You win"); 
      System.out.println("Would you like to play again"); 
       System.out.println("Enter " + yes + " for yes and " + no + " for no"); 
       answer = input.nextInt(); 
       if(answer == no) 
        return; 
     } 
    } 
} 
} 

答えて

0

アプリケーションをメモリプロファイリングして、それが問題を発見していない限り、私は、メモリの最適化を心配しないでしょう。あなたの時間はお金であり、しばしば1GBのメモリは時間の1時間よりも安く、1MBは数秒の価値があり、1KBはあなたが1つのキーを押すのに価値がないので、1オブジェクトのKB。

さらに大きなプログラムでは、jmcを使用してアプリケーションのプロファイルを作成することをお勧めします。特に割り当て率を見て、どのように減らすかを考えてください。

関連する問題