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,一经查实,立即删除!

相关文章

java入门就是死敲代码吗_JAVA入门第二季综合练习(直接思考敲的代码,面向过程,不好)...

package com.imocc;/*author ndh2016年3月27日 21:03:02*/import java.util.Scanner;public class DiDi {public static void main(String[] args){Scanner sc new Scanner(System.in);System.out.println("欢迎使用迪迪租车系统&#xff01;");System.out.println(…

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

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

jQuery.extend() 使用语法详解

今天在写插件&#xff0c;使用$.extend({}, defaults, options)的时候发现漏写了 {}&#xff0c;浪费了一些时间&#xff0c; 所以详细记录下该方法的 API 和使用。API 如下&#xff1a;jQuery.extend( [ deep ], target, [ object1 ], [ objectN ] )描述&#xff1a;合并两个或…

EJB钝化和激活示例

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

Python进阶_面对对象面对过程

这节主要讲面对对象与面对过程两种编程思想的主要区别。 一. 简单对比 面向过程是一种基础的方法&#xff0c;它考虑的是实际的实现步骤&#xff0c;一般情况下&#xff0c;面向过程是自顶向下逐步求精&#xff0c;其最重要的是模块化的思想方法。 面向对象的方法主要是把事物给…

puppet 安装mysql_Puppet安装dashboard

Puppet安装dashboard安装依赖包[rootmaster ~]# sudo yum install -y mysql mysql-devel mysql-server ruby ruby-devel ruby-irb ruby-mysql ruby-rdoc ruby-ri启动mysql并设置开机启动[rootmaster ~]# service mysqld start [rootmaster ~]# chkconfig mysqld on下载并安装…

命令模式详解

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

JDK 8中几乎命名的方法参数

有时在Java中命名方法参数确实很不错&#xff0c;这看起来可能不会出现很长时间了&#xff0c;但是始终还有其他一些解决方法&#xff0c;例如使用构建器模式来获得类似的行为&#xff0c;这将为一点点。 在我看来&#xff0c;使用JDK 8中的Lambda支持可以使您获得非常接近的效…

深入解析jQuery中的延时对象的概念

首先我们需要明白延时对象有什么用&#xff1f;第一个作用&#xff0c;解决时序以及动态添加执行函数的问题。function a(){alert(1)};function b(){alert(2)};function c(){alert(3)};a();setTimeout(function(){b();},0);c();很明显函数执行顺序是a->c->b,而不是按照函…

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…

java 同步的方法_关于Java中的同步方法

我有一个关于Java中方法同步的问题.考虑一个具有3个同步方法的类.class MyClass{public synchronized void methodA(){ ... }public synchronized void methodB(){ ... }public synchronized void methodC(){ ... }}考虑myObject,myClass的一个实例.以下内容哪些是对的&#xf…

jQuery获取隐藏域和radio单项框的值

获得只有Name的隐藏Input的值$("input[typehidden][name隐藏Input的名称]").val() 或 $("input[name隐藏Input的名称]:hidden").val()radio设值$("input[typeradio][value值]").attr("checked",true);eg.$("input[typeradio][v…

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包…

Java Comparable接口的陷阱

Java Comparable接口提供了一种对实现该接口的类进行自然排序的方法。 自然顺序对标量和其他非常简单的对象有意义&#xff0c;但是当我们使用面向业务的领域对象时&#xff0c;自然顺序就变得更加复杂。 从业务经理的角度来看&#xff0c;交易对象的自然顺序可以是交易的价值&…

mysql 创建视图

CREATE VIEW v_image_org_user_album AS--创建视图并命名v_image_org_user_album SELECT --先开from中表的命名 a.id AS imgid,--将a表中的id命名为新的表&#xff08;视图&#xff09;中的imgid字段&#xff0c;剩下的都一样&#xff0c;就是将之前的字段重新命名到…

jQuery.ajaxPrefilter()函数的使用

jQuery.ajaxPrefilter( [dataTypes ], handler(options, originalOptions, jqXHR) )返回: undefined 描述: 在每个请求之前被发送和 $.ajax()处理它们前处理&#xff0c;设置自定义Ajax选项或修改现有选项。 添加的版本: 1.5jQuery.ajaxPrefilter( [dataTypes ], handler(optio…