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

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

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

    練習(xí)題---三角運算

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

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

    代碼如下:
    /**---------------------------------------------
     *   Class Name   : YW2_Test01.java
     *   Purpose      : 編寫一個小的計算程序,用來進(jìn)行三角運算(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;

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


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

        
    /**
         * ---------------------------------------------
         * Method Name : YW5_Test01 
         * Exposition : 構(gòu)造函數(shù),執(zhí)行運算過程
         * ---------------------------------------------
         
    */

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

        
        
    /**
         * ---------------------------------------------
         * Method Name : setFuncName 
         * Exposition : 設(shè)置三角函數(shù)名字
         * ---------------------------------------------
         
    */

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

        
    /**
         * ---------------------------------------------
         * Method Name : setFunction 
         * Exposition : 設(shè)置三角函數(shù)名字
         * ---------------------------------------------
         
    */

        
    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 : 取得三角函數(shù)名字
         * ---------------------------------------------
         
    */

        
    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 : 檢查三角函數(shù)名字
         * ---------------------------------------------
         
    */

        
    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 : 設(shè)置角度
         * ---------------------------------------------
         
    */

        
    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 : 取得結(jié)果
         * ---------------------------------------------
         
    */

        
    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 : 測試用主函數(shù)
         * ---------------------------------------------
         
    */

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

        
    }


     



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

    Copyright © 久城

    主站蜘蛛池模板: 免费播放国产性色生活片| 免费精品一区二区三区在线观看| 337P日本欧洲亚洲大胆艺术图| 亚洲日韩图片专区第1页| 国产午夜亚洲精品国产成人小说| 色妞WWW精品免费视频| 久久永久免费人妻精品下载 | 无码国产精品一区二区免费式影视| 一个人看的www免费高清 | 成人午夜性A级毛片免费| 91免费福利精品国产| 中文在线日本免费永久18近| 麻豆va在线精品免费播放| 亚洲AV综合色区无码一二三区| 亚洲婷婷天堂在线综合| 亚洲自偷自拍另类12p| 亚洲高清国产AV拍精品青青草原| 亚洲性久久久影院| 亚洲福利在线播放| 亚洲精品高清在线| 亚洲日本va午夜中文字幕久久 | 国产亚洲视频在线观看网址| 亚洲欧洲日韩国产一区二区三区| 亚洲乱码一区av春药高潮| 亚洲电影唐人社一区二区| 91亚洲国产成人精品下载| 亚洲视频在线观看免费视频| 精品亚洲成a人片在线观看 | 2019中文字幕在线电影免费 | 亚洲AV综合色区无码另类小说| 亚洲人成人无码网www电影首页| 波多野结衣中文一区二区免费| 国产大片免费观看中文字幕| 国产精品久久免费视频| 免费在线观看黄网站| 亚洲国产V高清在线观看| 亚洲人午夜射精精品日韩| 亚洲中文字幕无码久久2017 | 色欲国产麻豆一精品一AV一免费| 久久久久久一品道精品免费看| 一级毛片全部免费播放|