实验一 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 呢,出现异常怎么处理此类问题。很简单的问题让我不知所措,当被稍稍提醒之后立马出现,哦原来如此之类的感慨。知识点都学过,但是距离运用还有一段距离,这次实验让我深层次的理解感受到了纸上谈兵都是空,实践才是真道理这句话。

实验一:实现求正整数1-N之间所有质数的功能,并进行测试。的更多相关文章

  1. oracle中求1到100之间的质数和

    declare i number:=1; j number:=0; sum1 number:=0;begin while(i<100) loop i:=i+1; j:=2; while(mod( ...

  2. 求正整数2和n之间的完全数

    [题目描述] 求正整数22和nn之间的完全数(一行一个数). 完全数:因子之和等于它本身的自然数,如6=1+2+36=1+2+3 [输入] 输入n(n≤5000)n(n≤5000). [输出] 一行一 ...

  3. 求n到m之间素数的个数

    Description 求n到m之间素数的个数 Input 多组测试数据,每组先输入一个整数t,表示组数,然后每组输入2个正整数n和m,(1 <= n <= m <= 10000) ...

  4. 高精度+搜索+质数 BZOJ1225 [HNOI2001] 求正整数

    // 高精度+搜索+质数 BZOJ1225 [HNOI2001] 求正整数 // 思路: // http://blog.csdn.net/huzecong/article/details/847868 ...

  5. 求正整数n所有可能的和式的组合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2

    作者:张小二 nyoj90 ,可以使用递归的方式直接计算个数,也可以通过把满足的个数求出来计数,因为在juLy博客上看到整数划分,所以重写了这个代码,就是列出所m的可能性,提交后正确.acmer的入门 ...

  6. js 求两个日期之间相差天数

    //求两个日期之间的相差天数 function daysBetween(DateOne, DateTwo) { var OneMonth = DateOne.substring(5, DateOne. ...

  7. BZOJ 1225: [HNOI2001] 求正整数( dfs + 高精度 )

    15 < log250000 < 16, 所以不会选超过16个质数, 然后暴力去跑dfs, 高精度计算最后答案.. ------------------------------------ ...

  8. LOJ-10102(求A到B之间的割点)

    题目链接:传送门 思路:求A到B之间必要的中间节点 条件:(1)只有一条路径经过中间节点:(low[B]>=num[u]&&num[v]<=num[B],没有从B到u的路径 ...

  9. bzoj1225 [HNOI2001] 求正整数

    1225: [HNOI2001] 求正整数 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 762  Solved: 313[Submit][Statu ...

随机推荐

  1. 深入了解Node模块原理

    深入了解Node模块原理 当我们编写JavaScript代码时,我们可以申明全局变量: var s = 'global'; 在浏览器中,大量使用全局变量可不好.如果你在a.js中使用了全局变量s,那么 ...

  2. Who are you, What is the science

    Please read:  地球月球有多大? 我们乃至我们赖以生存的地球, 甚至是我们硕大的银河系放到茫茫大宇中真的不过是一粒尘埃, 我们司空见惯的事物,我们习以为常的生活,我们笃定信奉的科学, 是不 ...

  3. jq实现多级菜单

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. iOS--性能优化--保持界面流畅

    卡顿产生的原因和解决方案 在 VSync 信号到来后,系统图形服务会通过 CADisplayLink 等机制通知 App,App 主线程开始在 CPU 中计算显示内容,比如视图的创建.布局计算.图片解 ...

  5. Eclipse导入web项目发布项目时报Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web错误解决方案

    Eclipse导入web项目后,将web项目加载到server进行发布时,提示Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java ...

  6. 3、Spring Cloud - Eureka(高可用Eureka Server集群)

    在实际的项目中,可能有几十个或者几百个的微服务实例,这时 Eureka Server 承担了非 常高的负载.由于 Eureka Server 在微服务架构中有着举足重轻的作用,所以需要对 Eureka ...

  7. leetcode300. Longest Increasing Subsequence 最长递增子序列 、674. Longest Continuous Increasing Subsequence

    Longest Increasing Subsequence 最长递增子序列 子序列不是数组中连续的数. dp表达的意思是以i结尾的最长子序列,而不是前i个数字的最长子序列. 初始化是dp所有的都为1 ...

  8. 为什么我们要做三份 Webpack 配置文件

    时至今日,Webpack 已经成为前端工程必备的基础工具之一,不仅被广泛用于前端工程发布前的打包,还在开发中担当本地前端资源服务器(assets server).模块热更新(hot module re ...

  9. .net core 实践笔记(一)--开篇

    ** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/9902000.html  最近无聊自己设计了一个小项目,基本都使用想用没用 ...

  10. 安装Win7时删除系统保留的100M隐藏分区

    原创文章,作者:lenbs,如若转载,请注明出处:https://www.smbinn.com/delwindows7100m.html 安装windows7新建磁盘分区时系统会自动创建100M的保留 ...