zoukankan      html  css  js  c++  java
  • Java基本语法实验报告

     

    题目       Java基本语法                     

    课程名称:  JAVA语言程序设计   

       级:    1705-1                    

       名:   刘雨馨     学号:   20173445      

    指导教师:    王建民                     

    正文部分格式要求:

    1、 正文汉子部分要求宋体小四,行间距固定值20磅;首行缩进两个字符。

    2、 程序英文部分要求采用Times New Roman字体,行间距固定值20磅,程序缩进采用四个字符,程序部分要求采用必要的注释。

    3、 实验报告要求完成以下三项内容:

    1) 按照题目内容要求编写程序实现功能。

    2) 实验报告中要求包括程序设计思想、程序流程图、源程序、实现结果截图、实验总结(包括调试过程中出现的错误等)。

    一、

    源程序:

    Calculation.java

    public class Calculation {
        
        private int operator;            //操作数
        private int operand1;            //操作数前面的数
        private int operand2;            //操作数后面的书
        private int result;                //运算结果,除法结果取整数部分
        private int statistics;            //统计正误
        
        public int getResult(){
            return result;
        }
        
        public int getStatistics(){        
            return statistics;
        }
        
        public Calculation( int operand1 , int operator , int operand2 ){
            this.operand1 = operand1;
            this.operator = operator;
            this.operand2 = operand2;
        }
        
        public void manager(){
            switch(operator){
                case 1:
                    System.out.println( operand1 +" + " + operand2 +" = " );
                    result = operand1 + operand2;
                    break;
                case 2:
                    System.out.println( operand1 +" - " + operand2 +" = "  );
                    result = operand1 - operand2;
                    break;
                case 3:
                    System.out.println( operand1 +" * " + operand2 +" = "  );
                    result = operand1 * operand2;
                    break;
                case 4:
                    System.out.println( operand1 +" / " + operand2 +" = "  );
                    result = operand1 / operand2;
                    break;
            }
        }
        
        public void judge( int result ){        //判断正误
            if( this.result == result){
                statistics = 1;                    //正确为1
            }
            else
                statistics = 0;                    //错误为0
        }
    
    }

    Arithmetic.java

    import java.util.Random;
    import java.util.Scanner;
    
    public class Arithmetic {
        @SuppressWarnings("resource")
        public static void main( String[] args ){
            
            Random rand = new Random();
            Scanner in = new Scanner( System.in );
            
            int operand1 = 0 ;
            int operand2 = 0;
            int operator;
            int result;
            int count=0;                                //统计正确的题目数量
            int i;
            Calculation[] cal = new Calculation[30];    //30道题目
            
            //随机题目并显示序号与题目
            for( i=0; i<30; i++ ){
                operator = rand.nextInt(4)+1;
                
                switch( operator ){
                    case 1:
                        operand1 = rand.nextInt(100);
                        operand2 = rand.nextInt(100);
                        break;
                    case 2:                                //减法不出现负数
                        operand1 = rand.nextInt(100);
                        operand2 = rand.nextInt( operand1 );
                        break;
                    case 3:                                //乘除范围更小
                        operand1 = rand.nextInt(10);
                        operand2 = rand.nextInt(10);
                        break;
                    case 4:
                        operand1 = rand.nextInt(20);
                        operand2 = rand.nextInt(9)+1;
                        break;
                }
                
                System.out.print( (i+1) +"  ");
                cal[i] = new Calculation( operand1, operator, operand2);
                cal[i].manager();
                result = in.nextInt();                    //输入答案并判断正误
                cal[i].judge( result);
            }
            
            
            //结算
            System.out.println("错误的题目及正确答案:");
            for( i=0; i<30; i++){
                if( cal[i].getStatistics() == 0 ){
                    System.out.println( i+1 +"  "+ cal[i].getResult() );
                }
                else
                    count++;
            }
            
            System.out.println();
            System.out.println("题目总数30道,正确"+count+"道,错误"+(30-count)+"道");        
        }
    }

    实验结果截图

    实验总结:
    题目不难但是做的过程中小错误频发,不够细心也缺少练习,思路不确定,经常修改

    调试错误:

    原因是没有实例化对象,这个错误出现很多次了,需要注意记住

    二、

    源代码:

    Random.java

    public class Random {
        private String rand;
        
        Random(){                                                //生成验证码
        rand = "";
        for( int i=0; i<6; i++ ){
            int intVal = (int)(Math.random() * 26 + 97);
            rand = rand + (char)intVal;                    //此处+用作连接符
    }
        
        public void judge( String rand ){
            if( this.rand.equals(rand) )
                System.out.println("验证码正确");
            else
                System.out.println("验证码错误");
        }
        
        public String getRand(){
            return rand;
        }
    
    }

    Validate.java

    import java.util.Scanner;
    
    public class Validate {
        public static void main( String [] args ){
            String rand = new String();
            @SuppressWarnings("resource")
            Scanner in = new Scanner( System.in );
            Random ran = new Random();
            System.out.println(ran.getRand());
            System.out.println("请输入验证码");
            rand = in.next();
            ran.judge(rand);
        }
    }

    运行结果:

    总结:

    总的还算顺利,第一次输出的时候在验证码前面带了一个null,需要让rand为空

  • 相关阅读:
    从FLC中学习的设计模式系列创建型模式(5)原型
    WP7应用开发笔记技巧 使用VisualState布置屏幕方向处理
    从FLC中学习的设计模式系列创建型模式(4)建造者
    从FLC中学习的设计模式系列结构型模式(1)适配器
    模拟Windows phone 开始菜单的瓦片动画
    解决log4net在.net 4.0 ClientProfile下无法使用
    从FLC中学习的设计模式系列创建型模式(1)单例
    从FLC中学习的设计模式系列创建型模式(2)抽象工厂
    WP7应用开发笔记(9) 应用程序栏
    同步上下文 SynchronizationContext 学习笔记
  • 原文地址:https://www.cnblogs.com/gothic-death/p/9752294.html
Copyright © 2011-2022 走看看