zoukankan      html  css  js  c++  java
  • 实验一:实现求正整数1-N之间所有质数的功能,并进行测试。

    实验一 Java开发环境的熟悉(Linux + Eclipse)

    实验内容

    1.使用JDK编译、运行简单的Java程序;

    2.使用Eclipse 编辑、编译、运行、调试Java程序。

    • 命令行下的程序开发
    • 进入虚拟机终端,mkdir 20155329test cd 20155329test mkdir exp1 cd exp1建立并进入实验一文件夹。
    • 编译,运行 Java程序
    使用IDEA编辑、编译、运行、调试Java程序

    练习(通过命令行和Eclipse两种方式实现,自己的学号后两位与题目总数取余的结果再加上1就是自己要完成的题号,在Eclipse下练习调试程序)

    • 实现求正整数1-N之间所有质数的功能,并进行测试。
      -代码思路:

    • 我的代码:输出0—N之间的所有质数,所以if(N>0)时开始找质数,否则重新输入符合条件的N
      -寻找质数:用两个for循环嵌套,相互整除,如果可以整除那么这个数不是质数,如果不能被整除,输出这个数,此数为质数。

    import java.io.BufferedReader;
    
    import java.io.IOException;
    
    import java.io.InputStreamReader;
    
    
    
    public class Test {
    
                   public static void main(String[] args) throws NumberFormatException, IOException{
    
                                   System.out.println("请输入一个整数");
    
                                   BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));
    
                                   int num=Integer.parseInt(strin.readLine());
                                  boolean flag;
                                   if(num>0){
    
                                                  for(int i=2;i<=num;i++){
    
                                                                 flag = true;
    
                                                                 for(int j = 2; j <=Math.sqrt(i); j++){
    
                                                                                if(i % j == 0){
    
                                                                                                flag = false;
    
                                                                                                break;
    
                                                                                }
    
                                                                 }
    
                                                                 if(flag){
    
                                                                                System.out.println(i);
    
                                                                 }
    
                                                  }
    
                                   }else{
    
                                                  System.out.println("请重新输入!");
    
                                   }
    
                   }
    
    }
    

    -

    实验中遇见的问题:

    -问题1:本实验中多次出现if for 语句 大括号匹配错误问题。


    -认识:在编写代码的过程中一定注意每个括号包括的内容,与之对应的另一半。可以先打{}在中间补充内容可能会更加少犯此类问题。
    -问题2:最初版本代码遇见不合法输入时就无法运行。
    -解决办法:在实验楼中由于我使用了BufferedReader()方法,因此 这个方法会可能抛出IOException异常,另外输入格式与期望格式不匹配时还会抛出InputMismatchException异常,所以应添加 try{...}catch (Exception e) {System.out.println(e);} 捕捉异常。

    3.实验报告中统计自己的PSP(Personal Software Process)时间:

    步骤 耗时 百分比
    需求分析 20min 13.3%
    设计 20min 13.3%
    代码实现 60min 40%
    测试 30min 20%
    分析总结 20min 13.3%

    实验体会:

    -本次实验题目在C语言中多次做过,所以思路清晰,很快能拟出流程框图,就差框图转换代码。转换代码是出现问题,怎么动态输入N 呢,出现异常怎么处理此类问题。很简单的问题让我不知所措,当被稍稍提醒之后立马出现,哦原来如此之类的感慨。知识点都学过,但是距离运用还有一段距离,这次实验让我深层次的理解感受到了纸上谈兵都是空,实践才是真道理这句话。

  • 相关阅读:
    串行通讯FIFO法和中断处理程序中直接处理的比较
    [FSM]状态机入门——程咬金只要三斧头厉害
    [FSM]状态机平面(任务平面)
    KMP算法
    【对线面试官】 Java 泛型
    【对线面试官】Java注解
    古文明中的经典作品
    《我是猫》总结
    Vue快速使用
    《算法帝国》总结
  • 原文地址:https://www.cnblogs.com/hpl20155329/p/6685631.html
Copyright © 2011-2022 走看看