`

Java作业第7章

    博客分类:
  • java
阅读更多

package homework05;

import java.math.BigInteger;

public class Ch07_3 {
public static double factorial(int n) //求阶乘函数
{
if(n==0) return 1;
else return n* factorial(n-1);
}
public static BigInteger factorial2(int n){
BigInteger bigInt=null;
if(n==0) {
bigInt=new BigInteger("1");
return bigInt;
}

else{
bigInt=new BigInteger(Integer.toString(n));
return bigInt.multiply(factorial2(n-1));
}
}

public static void main(String[] args) {
/*4、计算1+2!+3!+4!+···从第100项到200项之和*/
double f=0;
for(int k=100;k<=200;k++){
f+=factorial(k);
}
System.out.println("1+2!+3!+4!+···从第100项到200项之和:"+f); //此时输出的值是Infinity
// Infinity表示正无穷大,即大于dOUble类型所能表示的最大数值。负无穷大将输出-Infinity.
// 实际上,任何计算结果只要超出double类型所能表示的最大数值,就会产生这样的结果。
//故使用大整数来处理。
BigInteger result=new BigInteger("0");
for(int k=100;k<=200;k++){
result=result.add(factorial2(k));
}
System.out.println("1+2!+3!+4!+···从第100项到200项之和:"+result);
}

}
package homework05;

import java.math.BigInteger;

public class Ch07_3 {
public static double factorial(int n) //求阶乘函数
{
if(n==0) return 1;
else return n* factorial(n-1);
}
public static BigInteger factorial2(int n){
BigInteger bigInt=null;
if(n==0) {
bigInt=new BigInteger("1");
return bigInt;
}

else{
bigInt=new BigInteger(Integer.toString(n));
return bigInt.multiply(factorial2(n-1));
}
}

public static void main(String[] args) {
/*4、计算1+2!+3!+4!+···从第100项到200项之和*/
double f=0;
for(int k=100;k<=200;k++){
f+=factorial(k);
}
System.out.println("1+2!+3!+4!+···从第100项到200项之和:"+f); //此时输出的值是Infinity
// Infinity表示正无穷大,即大于dOUble类型所能表示的最大数值。负无穷大将输出-Infinity.
// 实际上,任何计算结果只要超出double类型所能表示的最大数值,就会产生这样的结果。
//故使用大整数来处理。
BigInteger result=new BigInteger("0");
for(int k=100;k<=200;k++){
result=result.add(factorial2(k));
}
System.out.println("1+2!+3!+4!+···从第100项到200项之和:"+result);
}

}


结果:

1+2!+3!+4!+···从第100项到200项之和:Infinity
1+2!+3!+4!+···从第100项到200项之和:792621072814943158937574954417696054502273470568077747007887743862285047941581535541498718312275086275679893343076013862361579680670972527976009279036348551929550827607601145450876014530359530008733947699274904382825444692112993342058966668017369617374101405221613980910401559347844227172278387932925351155828685624342954436057587785914951951445917696000000000000000000000000

此题正确与否有待验证。

view plaincopy to clipboardprint?
package homework05;

import java.util.HashSet;
import java.util.Iterator;

/*
* 题目:有集合A={1,2,3,4}和B={1,3,7,9,11},编写一个应用程序输出A和B交集、并集和差集。
*/
public class Ch07_4 {

public static void displaySet(HashSet<Integer> temp){
Iterator<Integer> iter=temp.iterator();
while(iter.hasNext()){
Integer te=(Integer) iter.next();
System.out.print(te.intValue()+"/t");
}
System.out.println();//换行。
}

public static void main(String[] args) {
Integer[] a={1,2,3,4};
Integer[] b={1,3,7,9,11};
HashSet<Integer> A=new HashSet<Integer>();
HashSet<Integer> B=new HashSet<Integer>();
for(int i=0;i<a.length;i++){ //初始化集合A
A.add(a[i]);
}
for(int i=0;i<b.length;i++){ //初始化集合B
B.add(b[i]);
}

HashSet<Integer> tempSet=(HashSet<Integer>)A.clone(); //作为中间变量 保存集合A的原始值。

A.addAll(B); //并集
System.out.print("输出A和B并集的结果:");
displaySet(A); //输出结果。

A=(HashSet<Integer>)tempSet.clone();
A.retainAll(B); //交集
System.out.print("输出A和B交集的结果:");
displaySet(A); //输出结果。

A=(HashSet<Integer>)tempSet.clone();
A.remove(B); //交集
System.out.print("输出A和B差集的结果:");
displaySet(A); //输出结果。

}

}
package homework05;

import java.util.HashSet;
import java.util.Iterator;

/*
* 题目:有集合A={1,2,3,4}和B={1,3,7,9,11},编写一个应用程序输出A和B交集、并集和差集。
*/
public class Ch07_4 {

public static void displaySet(HashSet<Integer> temp){
Iterator<Integer> iter=temp.iterator();
while(iter.hasNext()){
Integer te=(Integer) iter.next();
System.out.print(te.intValue()+"/t");
}
System.out.println();//换行。
}

public static void main(String[] args) {
Integer[] a={1,2,3,4};
Integer[] b={1,3,7,9,11};
HashSet<Integer> A=new HashSet<Integer>();
HashSet<Integer> B=new HashSet<Integer>();
for(int i=0;i<a.length;i++){ //初始化集合A
A.add(a[i]);
}
for(int i=0;i<b.length;i++){ //初始化集合B
B.add(b[i]);
}

HashSet<Integer> tempSet=(HashSet<Integer>)A.clone(); //作为中间变量 保存集合A的原始值。

A.addAll(B); //并集
System.out.print("输出A和B并集的结果:");
displaySet(A); //输出结果。

A=(HashSet<Integer>)tempSet.clone();
A.retainAll(B); //交集
System.out.print("输出A和B交集的结果:");
displaySet(A); //输出结果。

A=(HashSet<Integer>)tempSet.clone();
A.remove(B); //交集
System.out.print("输出A和B差集的结果:");
displaySet(A); //输出结果。

}

}

运行结果:

输出A和B并集的结果:1 2 3 4 7 9 11
输出A和B交集的结果:1 3
输出A和B差集的结果:1 2 3 4

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/youshini/archive/2010/03/25/5415460.aspx

分享到:
评论

相关推荐

    北大青鸟 Java 教材 第7章描述详细,有示例及图解.

    北大青鸟 Java 教材 第7章描述详细,有示例及图解 北大青鸟 Java 教材第7章主要介绍了Java中的日期和时间处理、集合框架和数学运算等内容。下面是本章的详细知识点: 一、java.util 包 java.util 包提供了许多...

    北大青鸟accp5.0java第四章理论加上机作业答案

    【北大青鸟ACCP5.0 Java第四章理论与上机作业答案解析】 北大青鸟ACCP5.0是针对初学者设计的一套完整的Java编程教程,尤其适合那些希望进入IT行业的学员。第四章作为教程的重要组成部分,通常会涵盖Java语言的基础...

    Java第6-7章作业

    Java 第7章作业 在Java 第7章中,我们学习了Java 的面向对象编程和数组等知识点。在作业中,我们需要完成以下几道编程练习题: * 7.17:使用类和对象实现一个简单的矩形计算器,要求用户输入矩形的长和宽,然后...

    JAVA OOP 第一章作业

    在"JAVA OOP 第一章作业"中,我们可以预期学生将接触到一系列基础但重要的面向对象编程概念。 1. 类与对象 类是OOP的基础,它是一个模板或者蓝图,定义了一组属性(数据成员)和行为(方法)。对象是类的实例,它们...

    清华大学课程_java程序设计_郑莉_第七章作业

    【2006011468_文月_Exp7】这个文件名可能是学生的学号和姓名,加上"Exp7"可能代表实验或练习七,意味着这是学生文月对第七章作业的一个提交。在这个文件中,可能会包含解决特定编程问题的源代码,或者是一份详细的...

    使用Java理解程序逻辑第7章.zip

    《使用Java理解程序逻辑》第七章,主要涵盖了Java编程中的一些关键概念和技巧,旨在帮助读者深入理解如何通过Java语言构建有效的程序逻辑。本章内容可能包括但不限于控制流程、循环结构、条件判断、函数(方法)的...

    accp5.0java第4章作业

    总之,"accp5.0java第4章作业"涵盖了Java编程语言的基础和核心概念,旨在帮助学员建立起坚实的基础,为后续更复杂的编程学习打下扎实的基础。在解决作业中的问题时,学员需要不断思考、实践和反思,这将有助于他们...

    java语言程序与数据结构梁勇第十版第七章复习题答案

    在“Java语言程序与数据结构梁勇第十版第七章复习题答案”中,我们主要探讨的是Java编程语言的基础知识,特别是与数据结构相关的概念。Java作为一种面向对象的编程语言,对于初学者来说,理解其基本语法、类和对象、...

    s2 JavaOOP上机作业全部代码

    7. **异常处理**:Java提供了一种结构化的异常处理机制,通过try-catch-finally语句块捕获和处理程序运行时可能出现的错误。这有助于提高代码的健壮性。 在这些上机作业的代码中,学生可能会看到如何创建测试类来...

    ACCP java 6-8章课后作业题

    这个压缩包包含了ACCP课程6到8章的Java作业题目,对于学习者来说是一个很好的实践资源。 第6章通常会涵盖Java基础,包括但不限于: 1. **Java语法基础**:变量、数据类型、常量、运算符、流程控制(如if语句、...

    JAVA OOP 第五章作业

    在本节中,我们将深入探讨Java面向对象编程(OOP)的关键概念,这些概念在"JAVA OOP 第五章作业"中可能涉及。面向对象编程是Java编程的核心,它允许我们设计复杂的软件系统,通过模拟现实世界中的实体来解决问题。 ...

    Accp5.0 S1java第6章~第8章作业

    **第7章:Java集合框架** 1. **集合接口**:包括List、Set、Queue等,理解它们的特点和使用方法。 2. **ArrayList与LinkedList**:比较两种实现List接口的方式,分析其性能差异。 3. **HashSet与TreeSet**:了解基于...

    合工大Java作业

    【合工大Java作业】是针对合肥工业大学计算机专业学生的一份编程作业,主要涉及Java语言的学习与实践。这份作业的设计旨在帮助学生巩固课堂所学,加深对Java编程基础的理解,并提高编程技能。作业分为两大部分:5-11...

    第八章作业

    【标题】:“第八章作业”通常指的是某个学习课程或教程中的第八个章节的作业或练习题目,这在编程教育中很常见,特别是对于系统性的IT课程如北大青鸟的S2课程。北大青鸟是中国知名的计算机职业教育机构,其S2课程...

    Accp8.0\S2\使用Java实现数据库编程 第二章

    在“Accp8.0\S2\使用Java实现数据库编程 第二章”这一主题中,我们聚焦于如何利用Java语言进行数据库编程。这通常涉及到Java的JDBC(Java Database Connectivity)技术,它是Java平台的标准接口,允许Java应用程序...

    使用Java理解程序逻辑第一章作业答案

    标签"accp7.0"可能是指北大青鸟的ACCP软件工程师培训课程的第7.0版本。这个课程通常为初学者提供全面的编程教育,包括Java在内的多种技术。 综上所述,这个压缩包包含的资源对于学习和理解Java编程的基础逻辑至关...

    JAVA大学实用教程1-7章代码

    **第七章:面向对象高级特性** 这一章深入探讨了接口、内部类、抽象类以及泛型等高级主题。接口用于定义行为规范,内部类可以提供更灵活的封装,抽象类作为其他类的模板,泛型则提高了代码的类型安全性。 通过以上...

    Java程序设计与数据结构第七章习题答案

    第七章习题主要会涵盖数组、链表、栈、队列、树以及图等基本数据结构,以及相关的算法应用。以下是这个章节可能涉及的一些核心知识点: 1. **数组**:数组是最基础的数据结构,它允许存储同一类型的元素序列。学习...

    清华大学课程_java程序设计_郑莉_第四章作业

    【清华大学课程_java程序设计_郑莉_第四章作业】是一门深入探讨Java编程技术的课程,由清华大学知名教师郑莉主讲。这门课程聚焦于Java语言的核心概念和实际应用,旨在帮助学生掌握面向对象编程的基本原理和技巧,...

Global site tag (gtag.js) - Google Analytics