编程练习题 没答案版
来源:互联网 发布:游戏锁定fps软件 编辑:程序博客网 时间:2024/06/10 11:46
假设s是一个型如:”cat223dog456nice25ttt98″的串,其特征是数字与字符交错。我们希望知道这个串中有多少个数字段。假设该串必以字符开始。我们给出了如下代码,请完善之:
boolean old_tag = false; // 表示开始不是数字
boolean tag = false;
int n = 0; // 数字组计数
for(int i=0; i<s.length(); i++){
char c = s.charAt(i);
tag = c>=’0′ && c<=’9′; // 是否为数字
if(____________) n++;
old_tag = tag;
}
如果int[] x = … 已经指向一个整型数组,我们想把数组中的元素翻转(比如:1,2,3,4,5 变成:5,4,3,2,1),写了如下代码,请完善之:
for(int i=0; i<x.length/2; i++){
int t = x[i];
x[i] = ______________;
______________ = t;
}
冒泡排序仅仅在相邻两个元素间进行比较和交换。下面的程序实现了对某个整型数组中的元素进行冒泡排序,它在保证逻辑正确的前提下,避免了冗余的比较。请填写缺少的代码。
int[] targetArr = {3,22,11,5,400,99,20,22,5};
for(int i=0; i<targetArr.length-1; i++)
{
for(int j=0; j<______________; j++)
{
if(targetArr[j]>targetArr[j+1])
{
int tmp = targetArr[j];
targetArr[j] = targetArr[j+1];
targetArr[j+1] = tmp;
}
}
}
一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只
问一百只鸡中公鸡、母鸡、小鸡各多少?请补充缺少的代码。
for(int cock=0; cock<=100; cock++)
{
for(int hen=0; hen<=100; hen++)
{
int chicken = 100 – cock – hen;
if(chicken % 3 != 0) ________________;
if(_________________________)
System.out.println(“cock=” + cock + “,hen=” + hen + “,chicken=” + chicken);
}
}
以下程序把一个整数翻转(8765变为:5678),请补充缺少的代码。
int n = 8765;
int m = 0;
while(n>0)
{
m = ________________________;
n = n / 10;
}
System.out.println(m);
下列代码取出一个整数的千位数字。请完善以下代码:
int n = 9175023;
int m = ___________________________;
System.out.println(m);
下列代码运行结果为:
12345
23456
89
23456789
即把一个串从数字不连续的位置断开。试完善之。
String s = “12345234568923456789”;
String t = “1”;
for(int i=1; i<s.length(); i++)
{
if(s.charAt(i)==s.charAt(i-1)+1)
{
t += s.charAt(i);
}
else
{
System.out.println(t);
_____________________________;
}
}
System.out.println(t);
为了保证网络信息的健康,下列filter方法为聊天室实现了所谓“脏话过滤”功能。其中x存储原文,v中装入了若干禁止使用的词汇。比如“猪头”、“牛X”什么的。Filter方法把脏话替换为“***”,并返回过滤后的串。请完善之。
public static String filter(String x, Vector v)
{
for(int i=0; i<v.size(); i++)
x = __________________________________________;
return x;
}
本程序将网站“www.baidu.com”首页的内容复制保存在文件test.html中。写了如下代码,请完善之:
import java.net.*;
import java.io.*;
class DaSai{
public static void main(String[] args) throws Exception {
URL url=__________________________________;
BufferedReader in =_________________________________;
String inString;
File outfile=new File(“test.html”);
PrintWriter out=new PrintWriter(new FileWriter(outfile));
while ((inString=in.readLine())!=null){
out.println(inString);
}
in.close();
out.close();
}
}
该程序完整代码的运行结果如下,请在指定位置添加代码,实现程序功能。
程序运行结果:
(1)当输入abc时,运行结果如下:
abc is too short!
发生字符串太短异常:StringTooShortException
程序执行结束
(2)当输入abcdef,运行结果如下:
abcdef
程序执行结束
(3)当输入abcdefghijklmn时,运行结果如下:
abcdefghijklmn is too long!
发生字符串太长异常:StringTooLongException
程序执行结束
程序代码:
import java.io.*;
public class Test{
static void myFunc(String s)
throws StringTooShortException, StringTooLongException
{
if(s.length()>=5 && s.length()<=10)
System.out.println(s); // 没有异常发生,正常显示字符串信息
else if(s.length()<5)
__________________________________;
else
___________________________________;
}
public static void main(String args[])throws IOException{
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(in);
String str=br.readLine();
try{ myFunc(str); }
catch(StringTooShortException e) // 捕捉字符串太短异常
{ System.out.println(“发生字符串太短异常:”+e); }
catch(StringTooLongException e) // 捕捉字符串太长异常
{ System.out.println(“发生字符串太长异常:”+e); }
finally // 程序最后执行位置
{ System.out.println(“程序执行结束”); }
}
}
/////////////////////////////////////////////////////////////////////////
class StringTooShortException extends Exception{ // 自定义字符串太短异常类
public StringTooShortException(String s){
System.out.println(s+” is too short!”);
}
}
class StringTooLongException extends Exception{ // 自定义字符串太短异常类
public StringTooLongException(String s){
System.out.println(s+” is too long!”);
}
}
////////////////////////////////////////////////////////////////////////
以下程序运行的结果如下,请根据程序的运行结果在下划线处填写相应代码。
程序的运行结果:
(2.5, 3.5, 4.5)
(2.5, 3.5, 4.5)
给出的程序代码:
class Point{
private double x,y,z;
public Point(double a, double b, double c){
x = a;
y = b;
z = c;
}
public Object clone(){
Object obj = ___;
return obj;
}
public String toString(){
String str = ____;
return obj;
}
}
public class Test {
public static void main(String[] arg){
Point p = new Point(2.5, 3.5, 4.5);
Point q = (Point)p.clone();
System.out.println(p);
System.out.println(q);
}
}
以下程序的运行结果始终如下,请在下划线处添加相应代码。
运行结果:
DDDDDDDD
CCCCCCCC
BBBBBBBB
AAAAAAAA
程序代码:
import java.util.*;
class A{
String sa ;
A(String str){
sa = str;
}
public String toString(){
return sa;
}
}
public class B {
public static void main(String args[]) {
Set<A> set = new HashSet<A>();
set.add(new A(“AAAAAAAA”));
set.add(new A(“BBBBBBBB”));
set.add(new A(“CCCCCCCC”));
set.add(new A(“DDDDDDDD”));
______;
while(it.hasNext()){
System.out.println(it.next());
}
}
}
编写程序将2行3列的数组行列置换复制给3行2列的数组(即数组的转置)。已经写了如下代码,请完善之:
class y{
public static void main(String[] args) throws Exception {
int a[][]={{1,2,3},{4,5,6}};
int b[][]=new int[3][2];
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
_____________________;
}
}
}
}
显示“DaSai”目录下以”Ex”开头的文件和目录,写了如下代码,请完善之:
import java.io.*;
class JavaFilter implements FilenameFilter{
String jf;
JavaFilter(String s){
jf=s;
}
//实现FilenameFilter接口的accept()方法
public boolean accept(File dir,String name){
return name.startsWith(jf);//name的前缀是否是参数jf
}
}
public class Ex{
public static void main(String[] args) throws Exception {
File f=new File(“/DaSai”);
//过滤以“Ex”开头的文件和目录,存放到字符串数组s中。
String s[]=____________________________;
for(int i=0;i<s.length;i++){
File ff=new File(s[i]);// 根据s[i]创建File类对象
if(ff.isDirectory())
System.out.println(s[i]+” is a directory”);
else
System.out.println(s[i]+” is a file”);
}
}
}
以下程序打印出0~9的数字,请补充缺少的代码。
public class MyTest
{
public static void f(int begin, int end)
{
__________________;
System.out.println(begin);
f(begin+1, end);
}
public static void main(String[] args)
{
f(0,9);
}
}
在A B C D E F 六人中随机抽取3人中奖,要求中奖人不能重复。请完善以下代码:
public class MyTest
{
public static void main(String[] args)
{
Vector a = new Vector();
for(char i=’A'; i<=’F'; i++) a.add(“” + i);
for(int k=0; k<3; k++)
{
int d = ____________________________;
System.out.println(a.remove(d));
}
}
}
不同进制的数值间的转换是软件开发中很可能会遇到的常规问题。下面的代码演示了如何把键盘输入的3进制数字转换为十进制。试完善之。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
int n = 0;
for(int i=0; i<s.length(); i++)
{
char c = s.charAt(i);
if(c<‘0′ || c > ‘2’) throw new RuntimeException(“Format error”);
n = ______________________;
}
System.out.println(n);
许多人都曾经玩过“拍七”游戏。规则是:大家依次从1开始顺序数数,数到含有7或7的倍数的要拍手或其它规定的方式表示越过(比如:7,14,17等都不能数出),下一人继续数下面的数字。违反规则者受罚。下面的程序模拟这个过程,拍7的情况输出“*”,请完善之。
for(int i=1; i<100; i++)
{
if(i % 7 == 0)
printf(“*n”);
else if(___________________)
printf(“*n”);
else
printf(“%dn”, i);
}
java中,所有的字符都用unicode编码格式表示,占用2个字节。但当需要把一个字符流化到外设(比如写出到磁盘,通过网络传输等)时,就会涉及到编码方式。如果流化与反流化的编码方式不同,就会产生俗称的“乱码”现象。下列代码从磁盘读入一个用GBK编码的文本文件a.txt,写出为一个用utf-8编码的文件:b.txt,即实现了编码方式转换。请补充缺失的代码。
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(“a.txt”),”GBK”));
BufferedWriter bw = _________________________________________;
for(;;)
{
String s = br.readLine();
if(s==null) break;
bw.write(s);
bw.newLine();
bw.flush();
}
不同进制的数值间的转换是软件开发中很可能会遇到的常规问题。下面的代码演示了如何把键盘输入的3进制数字转换为十进制。试完善之。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
int n = 0;
for(int i=0; i<s.length(); i++)
{
char c = s.charAt(i);
if(c<‘0′ || c > ‘2’) throw new RuntimeException(“Format error”);
n = ______________________;
}
System.out.println(n);
有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止。问剩下第几个孩子。下面的程序以10个孩子为例,模拟了这个过程,请完善之(提示:报数的过程被与之逻辑等价的更容易操作的过程所代替)。
Vector a = new Vector();
for(int i=1; i<=10; i++)
{
a.add(“第” + i + “个孩子”);
}
for(;;)
{
if(a.size()==1) break;
for(int k=0; k<2; k++)
________________;
a.remove(0);
}
System.out.println(a);
(a+b)的n次幂的展开式中各项的系数很有规律,对于n=2,3,4时分别是:1 2 1, 1 3 3 1,1 4 6 4 1。这些系数构成了著名的杨辉三角形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
下列的程序给出了计算第m层的第n个系数的计算方法,试完善之(m,n都从0算起)。
public static int f(int m, int n)
{
if(m==0) return 1;
if(n==0 || n==m) return 1;
return __________________________;
}
如果要把两个整型变量a、b的值交换,一般要采用一个中间变量做过渡,但也可以在不借助任何其它变量的情况下完成。试填写缺失的代码。
a = a ^ b;
b = _________;
a = _________;
答案:
a ^ b
a ^ b
- 编程练习题 没答案版
- python核心编程 第五章练习题答案(简单的没上)
- 6-5 编程练习题答案
- 6-4 编程练习题答案
- 6-3 编程练习题答案
- 6-2 编程练习题答案
- 6-1 编程练习题答案
- 6-6 编程练习题答案
- 6-7 编程练习题答案
- 6-8 编程练习题答案
- 6-9 编程练习题答案
- 6-10 编程练习题答案
- 6-11 编程练习题答案
- 6-13 编程练习题答案
- 6-14 编程练习题答案
- 6-15 编程练习题答案
- 6-16 编程练习题答案
- 6-17 编程练习题答案
- Quartz入门(一)-----实现定时功能
- 整理 javaweb 连接数据库方法
- 逻辑斯蒂回归1 -- 逻辑斯蒂回归模型
- 悬浮框的探究
- Tomcat启动问题汇总
- 编程练习题 没答案版
- hadoop 2.6 YarnScheduler接口用到的类分析
- JSTL
- 2015 年最受 Linux 爱好者欢迎的软硬件大盘点
- Firefox restClient如何发送post请求解决方法---谷营乡中西软件科技园--zdd
- nc命令详解
- 浙大PAT 1099
- 在面板中绘制图形
- UITableViewCell初始化