}
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等。 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java程序设计各章习题及其答案(6)在线全文阅读。
相关推荐: