<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    練習題---三角運算

    Posted on 2007-10-16 14:09 久城 閱讀(815) 評論(0)  編輯  收藏 所屬分類: JavaTest
    好久沒有做練習題了。

    編寫一個小的計算程序,用來進行三角運算(
    Sin Costan…),該程序通過交互接收用戶輸入,例如:
    系統剛啟動的時候處于提示狀態:
    Function>
    這時用戶可以輸入函數名稱,輸入sin表示想進行sin運算,此時再提醒用戶輸入角度:
    Angel>
    用戶可以輸入角度,
    計算完畢后,以Result<方式輸出結果,并且重新回到Function>的狀態下。
    在任何時候用戶輸入非法,則顯示Error<,在其后描述具體的錯誤原因。然后重新回到錯誤輸入前狀態。
    1)語言不限
    2)支持很方便的擴展
    (3)變量的命名和使用要符合學習的內容

    代碼如下:
    /**---------------------------------------------
     *   Class Name   : YW2_Test01.java
     *   Purpose      : 編寫一個小的計算程序,用來進行三角運算(Sin, Cos,tan…),該程序通過交互接收用戶輸入
     *
     *   
    @author realsmy
     *   
    @since 2007/10/16
     *
     *   Copyright realsmy. All rights reserved.
     *---------------------------------------------
     
    */

    package com.neusoft.test;

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;

    // 三角函數名的枚舉類型
    enum FuncName{
        SIN,
        COS,
        TAN
    }


    public class YW5_Test01{
        
        
    // 三角函數名
        private FuncName function;
        
        
    // 表示角度
        private double angel;
        
        
    // 圓周率常量
        private static double PAI = 3.14159265;

        
    /**
         * ---------------------------------------------
         * Method Name : YW5_Test01 
         * Exposition : 構造函數,執行運算過程
         * ---------------------------------------------
         
    */

        
    public YW5_Test01(){
            
    // 是指三角函數名
            setFunction();
            
    // 設置角度
            setAngel();
            
    // 計算出結果
            getResult();
        }

        
        
    /**
         * ---------------------------------------------
         * Method Name : setFuncName 
         * Exposition : 設置三角函數名字
         * ---------------------------------------------
         
    */

        
    private void setFuncName(FuncName func) {
            
    this.function = func;
        }

        
    /**
         * ---------------------------------------------
         * Method Name : setFunction 
         * Exposition : 設置三角函數名字
         * ---------------------------------------------
         
    */

        
    private void setFunction(){
            System.out.print(
    "Function> ");     
            
    if ( !checkFunction(getFunction())) {
                System.out.println(
    "error: worng function name, please input again:");
                setFunction();
            }

        }

        
    /**
         * ---------------------------------------------
         * Method Name : getFunction 
         * Exposition : 取得三角函數名字
         * ---------------------------------------------
         
    */

        
    private String getFunction(){
            String func 
    = null;
            
    try {
                BufferedReader in 
    = new BufferedReader(new InputStreamReader(System.in));
                func 
    = in.readLine().toUpperCase();
            }
     catch (IOException e) {
            }

            
    return func;
        }

        
    /**
         * ---------------------------------------------
         * Method Name : checkFunction 
         * Exposition : 檢查三角函數名字
         * ---------------------------------------------
         
    */

        
    private Boolean checkFunction(String func){
            
    for ( FuncName funcName : FuncName.values()) {
                
    if( funcName.toString().equals(func)) {
                    setFuncName(funcName);
                    
    return true;
                }

            }

            
    return false;
        }

        
    /**
         * ---------------------------------------------
         * Method Name : setAngel 
         * Exposition : 設置角度
         * ---------------------------------------------
         
    */

        
    private void setAngel(){
            System.out.print(
    "Angel> ");     
            getAngel();
        }

        
    /**
         * ---------------------------------------------
         * Method Name : getAngel 
         * Exposition : 取得角度
         * ---------------------------------------------
         
    */

        
    private double getAngel(){
            
    try {
                BufferedReader in 
    = new BufferedReader(new InputStreamReader(System.in));
                angel 
    = Double.parseDouble(in.readLine());
            }
     catch(NumberFormatException ne){
                System.out.println(
    "The input is not a number, please input again:");
                setAngel();
            }
     catch (IOException e) {
            }

            
    return angel;
        }

        
    /**
         * ---------------------------------------------
         * Method Name : getResult 
         * Exposition : 取得結果
         * ---------------------------------------------
         
    */

        
    private void getResult(){
            
    double result = 0;
            
    switch (function){
            
    case SIN:
                result 
    = Math.sin(angel*PAI/180);
                
    break;
            
    case COS:
                result 
    = Math.cos(angel*PAI/180);
                
    break;
            
    case TAN:
                result 
    = Math.tan(angel*PAI/180);
                
    break;
            }

            System.out.println(
    "Result< "+ function + " " + angel + " = " + result);
        }

        
        
    /**
         * ---------------------------------------------
         * Method Name : main 
         * Exposition : 測試用主函數
         * ---------------------------------------------
         
    */

        
    public static void main(String[] args){
            
    new YW5_Test01();
        }

        
    }


     



    歡迎來訪!^.^!
    本BLOG僅用于個人學習交流!
    目的在于記錄個人成長.
    所有文字均屬于個人理解.
    如有錯誤,望多多指教!不勝感激!

    Copyright © 久城

    主站蜘蛛池模板: 免费a级毛片视频| 日本免费精品一区二区三区 | 亚洲av无码专区在线电影| 亚洲国产第一页www| 亚洲福利在线播放| 成年女人视频网站免费m| 国产va在线观看免费| 一级做a爰片性色毛片免费网站| 亚洲激情视频图片| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲色图综合在线| 免费国产a国产片高清网站| 免费看无码自慰一区二区| 国产成在线观看免费视频| 91精品免费高清在线| 男的把j放进女人下面视频免费| 一级做a免费视频观看网站| 美女被免费网站在线视频免费 | 免费影院未满十八勿进网站| 毛片无码免费无码播放| 在线观看免费播放av片| 你好老叔电影观看免费| 国产精品成人啪精品视频免费| 亚洲成人在线电影| 精品久久久久久亚洲| 亚洲人成色77777| 亚洲国产另类久久久精品小说| 自拍偷自拍亚洲精品情侣| 久久久久亚洲AV无码专区网站| 午夜亚洲福利在线老司机| 免费人成网站7777视频| 亚洲国产成人久久综合区| www亚洲一级视频com| 亚洲精品无码久久久| 免费成人黄色大片| 亚洲国产成人久久综合碰| 久久影视综合亚洲| 亚洲人成亚洲人成在线观看 | 全部免费毛片在线播放| 99久久99热精品免费观看国产| 3d动漫精品啪啪一区二区免费|