Java程序设计各章习题及其答案(6)

2019-01-26 20:19

}

5、编写应用程序,分析字符串,分别输出字符串的单词,并统计出单词个数.

import java.util.*; public class Example5_7{

public static void main(String args[]){ String s=\

StringTokenizer fenxi=new StringTokenizer(s,\ //空格和逗号做分 int number=fenxi.countTokens(); while(fenxi.hasMoreTokens()) { String str=fenxi.nextToken(); System.out.println(str);

System.out.println(\还剩\个单词\}

System.out.println(\共有单词\个\} }

6、使用java.lang 包中System 类的静态方法arraycopy 可以实现数组的快速拷贝

class ArrayCopy{

public static void main(String args[]){

char a1[]={'a','b','c','d','e','f'},b1[]={'1','2','3','4','5','6'}; System.arraycopy(a1,0,b1,1,a1.length-1); System.out.println(new String(a1)); System.out.println(new String(b1));

byte a2[]={97,98,99,100,101,102},b2[]={65,67,68, 69, 70, 71}; System.arraycopy(b2,0,a2,3,b2.length-3); System.out.println(new String(a2)); System.out.println(new String(b2)); } }

7、运行下面程序,给出结果

public class Example4{

public static void main(String args[]){ byte d[]=\你我他\

System.out.println(\数组d的长度是(一个汉字占两个字节):\String s=new String(d,0,2); System.out.println(s); } }

解:上述程序的输出结果

数组d的长度是(一个汉字占两个字节) 6 你

第七章 习题及思考题

1、 编写判断某年是否是闰年的Java程序。

解: public class Date1 {

int year,month,day;

void setdate(int y,int m,int d) //成员方法,设置日期值

{ //公有的,无返回值,有三个参数 year = y; month = m; day = d; }

boolean isleapyear() //判断年份是否为闰年 { //布尔型返回值,无参数 return (year@0==0) | (year0!=0) & (year%4==0); }

void print() //输出日期值,无返回值,无参数 {

System.out.println(\ }

public static void main(String args[]) {

Date1 a = new Date1() ; //创建对象 a.setdate(2002,4,18); //调用类方法 a.print();

System.out.println(a.year+\ } }

2、 已知f(n)公式如下:

f(1)=f(2)=1 当n=1,2 f(n)=f(n-1)+f(n-2) 当n>=3

计算f(28)的结果,并测试计算该公式所花的时间数。(提示:可以用System类的静态方法public long currentTimeMillis()获取系统当前时间,也可以根据currentTimeMillis()方法得到的数字,用Date 的构造方法) 解:

import java.util.Date; class Example6_2

{ public static void main(String args[]) { long time1=System.currentTimeMillis(); Date date=new Date(time1); System.out.println(date);

String s=String.valueOf(time1);

int length=s.length(); s=s.substring(length-8); System.out.println(s); long result=f(28);

System.out.println(\

long time2=System.currentTimeMillis(); //计算f(28)之后的时间. s=String.valueOf(time2);

length=s.length(); s=s.substring(length-8); System.out.println(s);

System.out.println(\用时\毫秒\}

public static long f(long n) { long c=0;

if(n==1||n==2) c=1;

else if(n>=3) c=f(n-1)+f(n-2); return c; } }

3、 利用Vector类,实现一个先进先出队列。 解: import java.util.*;

import java.io.*; public class Queue {

public static void main(String args[]) { Vector theVector = new Vector(); //创建一空向量实例 theVector

byte bytebuffer[] = new byte[10]; try{

System.out.print(\ //确定队长size,即向量实例 theVector的大小 System.in.read(bytebuffer);

String c = new String(bytebuffer); int size = Integer.parseInt(c.trim() );

System.out.println(\ //往向量中插入对象,即入队

for(int i = 0; i < size; i++) {

System.in.read(bytebuffer);

String s = new String(bytebuffer); s.trim();

theVector.addElement(s); //把给定对象增加到向量队尾 }

for(int i = 0; i < size; i++) {

System.out.println(\Number: \i +\OutQueue Element: theVector.firstElement());

//输出队列首元素及其出对序列号

theVector.removeElementAt(0); //删除给定下标的向量元素,即出队 }

\

} catch(Exception e){} } }

运行结果:

D:\\pro>java Queue

please input the length of the Queue:3 please input the element of the Queue: 563 ertet 23.34

OutQueue Number: 0 OutQueue Element: 563 OutQueue Number: 1 OutQueue Element: ertet OutQueue Number: 2 OutQueue Element: 23.34

4、将从小到大的素数30个放入数组中。 解:public class Prime_array {

public static void main(String args[]) {

final int MAX=100,SIZE=30; int prime[] = new int [SIZE]; int i,j,k,n;

prime[0]=2; //已知的最小素数

n=1; //素数个数,即数组的实际长度(元素个数) i=1; //下一个素数应存放的数组下标位置

k=3; //从最小奇数开始测试,所有偶数不需测试 do {

j=0;

while ((j

prime[i]=k; i++; n++; }

k=k+2; //测试下一个奇数是否是素数 } while(k

System.out.println(\ for (i=0;i

System.out.print(\

if ((i+1)==0) System.out.println();

}

System.out.println(\ } }

5、编写生成100个1-6之间的随机数,统计1—6每个出现的概率。 解:public class ch6_e6_4 {

public static void main(String args[]) {

final int NUMBER = 100; int count = 10; int randomNum = 0;

int probability[] = new int[6];

for(int i=0; i<6; i++) {

probability[i] = 0; }

for(int i=0; i

randomNum = (int)(Math.random()*6) + 1; probability[randomNum-1]++;

System.out.print(randomNum + \ if(i%count == 9)

System.out.println(); }

for(int i=0; i<6; i++) {

System.out.println(\ + probability[i]); } } }

6、 在所有的Java系统类中,Object类有什么特殊之处?它在什么情况下使用?

解:Object类是所有Java类、系统类或用户自定义类的直接或间接父类。因为任何 一个Java对象都可以同时看作是Object类的对象,所以Object可以使用在通用或泛指 的情况下,例如作为某些形式参数的类型。

7、 试列举你使用过的数据类型类,数据类型类与基本数据类型有什么关系?

解:常用的数据类型类有Boolean,Byte,Character,Double,Float,Integer,Long, Short等。


Java程序设计各章习题及其答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015年中考物理猜题押题:估测题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: