20165312-第4周-课上内容补做以及知识点总结

20165312-第4周-课上内容补做以及知识点总结

1、课上内容补做

  • 教材代码完成情况测试p45

这题很快就做完了,然后忘记提交了。。就开始做递归。想起来的时候已经过了时间。

public class Example3_7 {public static void main(String args[]) {int sum=0,i,j;for(i=1;i<=10;i++) {if(i%2==0) {   //计算1+3+5+7+9continue;}sum=sum+i;}System.out.println("sun="+sum);for(j=2;j<=5312;j++) {for(i=2;i<=j/2;i++) {                         if(j%i==0)break;}if(i>j/2) {System.out.println(""+j+"是素数");}}}
}

运行截图:
1047583-20180323231112969-597835362.png

  • 递归与循环

课堂上的代码出现了一个细小的错误,导致无论输入什么数字,都会退出。出现问题的地方:

for(int i=1;i<args.length;i++) {tmp[i] = Integer.parseInt(args[i]);
}

i从1开始,就导致是从第二个数字开始转化成int型,所以无论输入什么,都会退出。

正确代码:

public class CLSumRecursion {public static void main(String args[]) {int sum = 0;if(args.length < 1) {System.out.println("Usage:java CLSumRecursion num1 num2 ...");System.exit(0);}int tmp[] = new int[args.length];for(int i=0;i<args.length;i++) {tmp[i] = Integer.parseInt(args[i]);}if(tmp[0]<=0) {System.out.println("Please check your input!");System.exit(0);}else {for(int j=1;j<=tmp[0];j++) {sum += fact(j);}}if(sum<=0) {System.out.println("Please check your input!");System.exit(0);}elseSystem.out.println(sum);}public static int fact(int n) {if(n == 0)return 1;elsereturn n*fact(n-1);}
}

运行截图:

1047583-20180323231137114-233622654.png

  • JDB
    • jdb CLSumRecursion 3
      1047583-20180323231156412-1277217600.png

    1047583-20180323231209197-1415946940.png

    • jdb CLSumRecursion 1

    1047583-20180323231221487-1452077834.png

    • jdb CLSumRecursion 2
      1047583-20180323231235112-997699450.png

2.知识点总结

  • 参考Integer类中的方法把字符串转为整数
public static void main(String [] args) {int [] tmp = new int [args.length];for(int i=0; i<args.length; i++) {tmp[i] = Integer.parseInt(args[i]);}
}

运行时为java 文件名 int 型数据

jdb调试时 jdb 文件名 int型数据

3.第二章编程题目

  • 编写一个程序,给出汉字“你”,“我”,“他”在Unicode表中的位置
public class exam2_1 {public static void main(String args[]) {char a = '你';char b = '我';char c = '他';System.out.println("汉字:"+a+"的位置:"+(int)a);System.out.println("汉字:"+b+"的位置:"+(int)b);System.out.println("汉字:"+c+"的位置:"+(int)c);}
}

1047583-20180323231254263-1552895651.png

  • 编写一个程序,输出全部的希腊字母
public class exam2_2{public static void main(String[] args) {for (int j = 913; j < 930; j++) { //j代表每个字母的ASCII代码System.out.print((char)j+" "); //将ASCII代码转换成字符就是每个字母了}for (int j = 932; j < 938; j++) { //中间空了一个System.out.print((char)j+" ");}for (int j = 945; j < 970; j++) { //大小写中间空了好几个,都跳过了System.out.print((char)j+" ");}}
}

1047583-20180323231309418-951557723.png

4.第三章编程题目

  • 编写应用程序求1!+2!+……+10!
public class exam3_1 {public static void main(String args[]) {int sum = 0;int n = 10;for(int i = 1;i<=n;i++) {sum = sum+fact(i);}System.out.println(sum);}public static int fact(int i) {if(i == 0)return 1;elsereturn i*fact(i-1);}
}

运行截图:

1047583-20180323231322381-2014447186.png

  • 编写一个程序求100以内的素数
public class exam3_2 {public static void main(String args[]) {int i,j;for(i=2;i<=100;i++) {for(j=2;j<=i/2;j++) {if(i%j==0)break;}if(j>i/2)System.out.println(" "+i+"是素数");}}
}

运行截图:

1047583-20180323231337780-1224310876.png

  • 分别用do-while和for循环计算1+1/2!+1/3!+……的前20项和
//for循环语句
public class exam3_3_1 {public static void main(String args[]) {double sum = 0;for(int i=1;i<=20;i++) {sum = sum+1.0/fact(i);}System.out.println(sum);}public static int fact(int n) {if(n==0)return 1;elsereturn n*fact(n-1);}
}

运行截图:

1047583-20180323231351861-1468393043.png

//do-while
public class exam3_3_2 {public static void main(String args[]) {double sum = 0;int i = 1;do {sum=sum+1.0/fact(i);i++;}while(i<=20);System.out.println(sum);}public static int fact(int n) {if(n==0)return 1;elsereturn n*fact(n-1);}
}

运行截图:

1047583-20180323231403878-122222800.png

  • 一个数如果恰好等于它的因子之和,这个数称为完数。编写程序求1000以内的所有完数
public class exam3_4 {public static void main(String args[]) {int i;for(i=1;i<=1000;i++) {if(wanshu(i)==1)System.out.println(i+"是完数");elsecontinue;}}public static int wanshu(int i) {int sum = 0;for(int j=1;j<i;j++) {if(i%j==0)sum=sum+j;}if(sum==i)return 1;elsereturn 0;}
}

运行截图:

1047583-20180323231416920-158499087.png

  • 编写一个程序,使用for循环语句计算8+88+888+……前10项之和
public class exam3_5 {public static void main(String args[]) {long i=1,sum=0,a=8,item=a;for(i=1;i<=10;i++){sum=sum+item;item=item*10+a;}System.out.println(sum);}
}

运行截图:

1047583-20180323231429909-603206141.png

  • 编写一个程序,输出满足1+2+3+……+n<8888的最大正整数n
public class exam3_6 {public static void main(String args[]) {int sum = 0;int i = 1;while(sum<8888){sum=sum+i;i++;}System.out.println(i-1);}
}

运行截图:

1047583-20180323231442879-1411780035.png

参考资料:2016-2017-2 《Java 程序设计》课堂实践项目

转载于:https://www.cnblogs.com/cxgg/p/8635605.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript实现表单的全选,反选,获取值

构思 通过for循环和for in循环来实现&#xff0c;界面效果如下 步骤 全选&#xff1a; 循环给所有的表单设置checked 反选&#xff1a; 循环内判断checked是否为true&#xff0c;如果为true则改为false否则改为true 获取值&#xff1a; 最开始用for取&#xff0c;但是只打印最后…

EJB钝化和激活示例

在本教程中&#xff0c;我们将了解状态Java企业会话Bean中激活和钝化的工作方式。 1.简介 有状态会话Bean通常保存有关特定客户端的信息&#xff0c;并在整个会话中保存该信息。 但是&#xff0c;事实是&#xff0c;客户端会话往往会在相当长的时间内保持活动状态&#xff0c;…

命令模式详解

原文链接:https://www.cnblogs.com/java-my-life/archive/2012/06/01/2526972.html 在阎宏博士的《JAVA与模式》一书中开头是这样描述命令&#xff08;Command&#xff09;模式的&#xff1a; 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模…

c mysql5.7_CentOS7下MySQL5.7的三种安装方式详解

操作系统环境&#xff1a;CentOS 7.4最小化安装[rootnode3 src]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)[rootnode3 ~]# uname -r3.10.0-693.5.2.el7.x86_64[rootnode3 ~]#安装版本为&#xff1a;MySQL 5.7.20一、编译安装MySQL5.71、下载源码包[rootno…

Struts2 学习之小白开始

Struts2 基础知识学习总结 Struts2 概述&#xff1a;Struts2 是一个用来开发 MVC 应用程序的框架&#xff0c;他提供了 Web 应用程序开发过程中的一些常见问题的解决方案&#xff0c;比如对于用户输入信息合法性的验证&#xff0c;统一的布局&#xff0c;国际化等&#xff0c;既…

机器学习的数学基础 - 信息论

机器学习的数学基础 - 信息论 信息论 信息论本来是通信中的概念&#xff0c;但是其核心思想“熵”在机器学习中也得到了广泛的应用。比如决策树模型ID3&#xff0c;C4.5中是利用信息增益来划分特征而生成一颗决策树的&#xff0c;而信息增益就是基于这里所说的熵。所以它的重要…

了解ElasticSearch分析器

令人遗憾的是&#xff0c;许多早期的互联网啤酒配方不一定采用易于消化的格式。 也就是说&#xff0c;这些食谱是通常在电子邮件或论坛帖子中最初组成的非结构化的方向和成分混合列表。 因此&#xff0c;尽管很难轻松地将这些配方放入传统的数据存储中&#xff08;表面上看是为…

c++简单程序设计-2

1.验证性实验部分①函数声明和函数定义各自的作用及二者的区别&#xff1a;函数声明就是调用函数之前提示一下有这个函数函数定义就是写一个函数②什么是形参&#xff1f;什么是实参&#xff1f;函数参数和返回值在函数中起到什么作用&#xff1f;函数定义时写的参数叫做形参&a…

Linux虚机安装配置Tomcat

d第一步&#xff1a;下载Tomcat包&#xff0c;网址http://tomcat.apache.org/ 选择tar.gz包下载&#xff0c;并传到虚机中 第二步&#xff1a;解压下载好的Tomcat包 命令&#xff1a;tar -zxvf apache-tomcat-8.0.53.tar.gz 第三步&#xff1a;配置环境变量 进入到Tomcat下bin包…

Nginx安装及配置详解

nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器&#xff1b;同时也是一个IMAP、POP3、SMTP代理服务器&#xff1b;nginx可以作为一个HTTP服务器进行网站的发布处理&#xff0c;另外nginx可以作为反向代理进行负载均衡的实现。 这里主要通过三个方面…

servlet简单概括总结

最近在看java web的相关内容&#xff0c;不管是整体还是细节&#xff0c;要学习的知识有很多&#xff0c;所以有一个好的学习体系非常重要。在阅读学习一些博客和教程中关于servlet的内容后&#xff0c;现将知识体系和自己的总结体会进行梳理&#xff0c;希望在更深入理解的同时…

php超强后门在任意位置创建文件,php大马:.user.ini文件构成的超强PHP后门

这个估计很多同学看了不屑&#xff0c;认为是烂大街的东西了&#xff1a;那么我来个新的吧&#xff1a;。它比用的更广&#xff0c;不管是nginx/apache/IIS&#xff0c;只要是以fastcgi运行的php都可以用这个方法。我的nginx服务器全部是fpm/fastcgi&#xff0c;我的IIS php5.3…

Restlet框架– Hello World示例

Restlet是用于Java平台的轻量级&#xff0c;全面的开源REST框架。 Restlet适用于服务器和客户端Web应用程序。 它支持主要的Internet传输&#xff0c;数据格式和服务描述标准&#xff0c;例如HTTP和HTTPS&#xff0c;SMTP&#xff0c;XML&#xff0c;JSON&#xff0c;Atom和WAD…

Servlet 3的异步Servlet功能

在深入了解什么是异步Servlet之前&#xff0c;让我们尝试了解为什么需要它。 假设我们有一个Servlet&#xff0c;处理时间很长&#xff0c;如下所示。 LongRunningServlet.java package com.journaldev.servlet;import java.io.IOException; import java.io.PrintWriter;impo…

excel的宏与VBA入门——代码调试

直接介绍重点&#xff1a; 常用的操作是导航栏的逐句与断点&#xff1a; 添加断点&#xff1a;调试->切换断点 单步运行&#xff1a;调试->逐句 查看变量的窗口&#xff1a;视图->本地窗口 转载于:https://www.cnblogs.com/jiangbei/p/9561352.html

php访问服务器文件路径,PHP与服务器文件系统的简单交互

1、php.ini中关于文件上传的设置指令2、文件上传过程(1)上传文件提交表单html代码&#xff1a;Adminstration - upoload new filesUpload new filesUpload a file(2)php处理上传文件代码①在php脚本中&#xff0c;需要处理的数据保存在超级变量数组$_FILES中&#xff0c;开启re…

django F和Q 关键字使用

F 的使用&#xff1a; 想给表里每个价格加上一百就要用上F&#xff0c;直接加是不行的。 转载于:https://www.cnblogs.com/wuheng-123/p/9561422.html

【刷题】BZOJ 4176 Lucas的数论

Description 去年的Lucas非常喜欢数论题&#xff0c;但是一年以后的Lucas却不那么喜欢了。 在整理以前的试题时&#xff0c;发现了这样一道题目“求Sigma(f(i)),其中1<i<N”&#xff0c;其中 表示i的约数个数。他现在长大了&#xff0c;题目也变难了。 求如下表达式的值&…

Java 8的新增功能(第I部分-JavaFX)

免责声明&#xff1a;我不为Oracle工作&#xff0c;也不以任何方式代表Oracle。 此功能列表不是官方的。 作为“局外人”&#xff0c;这只是我研究的一部分。 Java 8已在大约两个月前完成功能&#xff0c;并且开发者预览版即将来临&#xff08;两周后&#xff09;。 这篇博客文…

mysql数据库sql语句优化

昨天帮同事优化了一个sql语句发出来共勉下: SELECT T.*, ( SELECT S.codeName FROM sys_codelist S WHERE S.codeValue T.packagingtype AND S.kindCode PACKAGING ) AS packagingtypeName, S.codeName AS codename, ( SELECT picpath FROM zl_b_gd_pic WHERE 1 1 AND gdid …