`

练习题---三角运算

 
阅读更多
好久没有做练习题了。

编写一个小的计算程序,用来进行三角运算(
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();
    }

   
分享到:
评论

相关推荐

    最新人教版小学六年级上册数学《小数乘分数》课时达标练习题--.pdf

    1. **小数乘分数的计算**:在第一部分的练习题中,学生需要掌握如何将小数与分数相乘。例如,313 × 2.4 和 1.8×532,计算这些题目时,首先要将小数转换为分数或将分数转换为小数,然后进行乘法运算。对于313 × ...

    c++程序设计综合练习题-读程序写结果题.doc

    标题和描述中的文件是"C++程序设计综合练习题-读程序写结果题.doc",这显然是一份关于C++编程的练习题集,目的是帮助学习者提升C++编程技能。以下是文件中部分练习题的详细解析: 1. 题目要求用C++语言描述几个逻辑...

    一年级下册数学期末专题总复习知识点及练习题-.pdf

    提供了若干加减法的练习题,如 25+15,36+46 等,以训练学生的计算能力。 2. **图形认知**: - **几何图形**:复习了基本的平面图形,包括正方形、长方形、圆形、三角形,以及立体图形如正方体、球体等。学生需要...

    JAVA练习题(50题)

    #### 练习题32:位运算 - **知识点**: - 位运算的概念与应用。 - 左移、右移运算。 - 逻辑与运算。 - **实现思路**:使用位运算操作提取或修改特定位置的比特位。 #### 练习题33:帕斯卡三角形 - **知识点**: ...

    《高中数学》必会基础练习题--《导数》.doc

    本练习题主要涵盖了导数的多个方面,包括基本公式、运算法则、复合函数求导、导数的物理意义和几何意义,以及如何利用导数来求解函数的单调区间、极值、最值和零点个数。 首先,我们要理解导数的定义,它是函数在某...

    vb练习题-电子版第四章数据类型.docx

    ### 数据类型、运算符与表达式 —— VB 练习题解析 #### 一、数据类型 ##### (一)基本数据类型 Visual Basic (VB) 提供了一系列基本数据类型,这些类型是编程中最常见的,包括但不限于: - **字符串型(String)*...

    小学一年级数学上册看图列式习题--经典.doc

    6. **填空题与选择题**:部分习题可能设计为填空或选择题形式,如"有几个正方形?",这能帮助学生提高阅读理解能力,同时强化数字与数量之间的对应关系。 7. **重复与模式识别**:一系列的加法或减法运算(如"□○...

    人教版11册数学《分数四则混合运算》练习题【pep人教版】精选.doc

    《分数四则混合运算》是数学中的一个重要章节,主要涵盖了分数的加法、减法、乘法和除法的综合运用。...通过大量的练习题和实际问题的解决,可以提升学生的运算能力和逻辑思维能力,为后续的数学学习打下坚实的基础。

    锐角三角形练习题.doc

    锐角三角形是初高中数学中的重要概念,主要涉及到直角三角形中各边与角度之间的关系,包括正弦...通过这些练习题,学生可以加强理解和运用锐角三角函数的能力,同时提高解题技巧,为更复杂的数学问题打下坚实的基础。

    小学一年级数学下册期末重点知识练习题-.pdf

    在期末复习时,家长和教师可以设计各种练习题,包括填空、选择、判断、连线和解答题等形式,帮助孩子巩固和加深对这些知识的理解。同时,也可以通过游戏和互动的方式,让学习过程更加生动有趣,激发孩子的学习兴趣。...

    六年级数学分数四则混合运算练习题.doc

    这些文档内容是针对小学六年级学生的数学练习题,主要涵盖了分数的四则混合运算,包括加法、减法、乘法和除法的组合运算,以及应用这些运算解决实际问题。以下是具体的知识点解析: 1. **分数四则混合运算**: - ...

    《分与合》习题---第一课时.pdf

    《分与合》是小学数学中的基础知识,主要涉及数字的分解和组合,是培养孩子数感和运算能力的重要环节。本课时的习题重点在于训练学生对2至5的数字进行分与合的理解和应用。 1. **基础题1**: 这部分习题要求学生...

    六年级分数混合运算专项练习题.doc

    以上是针对"六年级分数混合运算专项练习题"中涉及的数学知识点的详细解释。这些知识点涵盖了分数的基本运算、百分比、方程、几何、比例以及实际问题的解决,都是六年级学生需要掌握的核心数学技能。通过这样的练习,...

    三角函数练习题一.doc

    本练习题旨在检验对三角函数的理解,包括性质、图像、运算和应用。 1. 题目1是关于扇形面积与中心角的关系。扇形面积公式是,其中n为扇形的中心角度数,r为半径。通过解方程可求得中心角的弧度值。 2. 题目2考查...

    五年级上册数学练习纸-5.3 三角形的面积 ▏沪教版 无答案.doc

    在沪教版教材中,这部分内容通常会结合实例和练习题进行深入讲解。 1. **三角形面积公式** 三角形的面积公式是:底乘以高除以2。即 \( A = \frac{1}{2} \times b \times h \),其中 \( A \) 表示面积,\( b \) 是...

    (北师大版)高中数学-必修四-同步习题-第一章三角函数1§2两角和与差的三角函数.pdf

    综上所述,理解和掌握两角和与差的三角函数是高中数学中的关键,它不仅能够帮助我们解决三角形问题,还能够应用于更广泛的数学问题,如函数的性质研究、向量的运算等。熟练运用这些公式和技巧,将极大地提升我们的...

    六年级数学分数混合运算练习题15357.pdf

    六年级数学分数混合运算练习题15357.pdf 本资源为六年级数学分数混合运算练习题,共分四大节,涵盖了分数四则混合运算、简便计算、解决问题等多个知识点。 一、分数四则混合运算 1. 准确计算:在本节中,学生需要...

    数学七年级下北师大版6.2变化中的三角形习题精选题精选.doc

    这涉及到逆运算,需要找到涨价前的价格,即找出原价与当前价格的关系。 - 问题2中,当顶点A移动时,三角形面积随着AD长度变化而变化,这展示了自变量(AD)如何影响因变量(面积)的函数关系。 - 问题3中,圆柱体...

    集合的基本运算练习题及答案.doc

    在本练习题中,主要涉及了集合的基本运算,包括交集、并集、差集以及对称差。 1. 选择题: - 第1题,集合的并集问题,需要找出所有属于两个集合的元素,答案是 D. {1,3,6,7,8}。 - 第2题,求集合的补集,然后与另...

    新人教版一年级数学(下册)课本习题-一年级数学书(下册)试题.doc

    1. **加减法基础**:在练习题中,出现了诸如“列式计算”、“三角比圆多几个”、“圆比三角少几个”等问题,这些都是训练孩子进行基本的加减运算。例如,三角形的数量多于圆形,则需要计算两者之间的差值,这涉及到...

Global site tag (gtag.js) - Google Analytics