第四章 课后编程
来源:互联网 发布:淘宝主视频制作软件 编辑:程序博客网 时间:2024/05/20 01:38
欢迎大家转载,为保留作者成果,转载请注明出处,http://blog.csdn.net/netluoriver,有些文件在资源中也可以下载!如果你没有积分,可以联系我索要!
1、
package forth_charter;/** File: Beer.java* ---------------------------* 第4章 编程练习第1题* 美国打发时间的歌曲,啤酒瓶* * Author luoriver*/import acm.program.*;import acm.graphics.*;import acm.program.GraphicsProgram;public class Beer extends ConsoleProgram {public void run(){for(int i=BEER_COUNTS; i>0;){println("墙上有" + i + "瓶啤酒。 ");println(i-- + "瓶啤酒。 ");print("拿下来一瓶,传出去。 ");if(i==0){println("墙上已经没有啤酒了");}else{println("墙上有" + i + "瓶啤酒。 " );}}}//定义啤酒瓶的数量为一个固定值private static final int BEER_COUNTS = 9;}
2、
package forth_charter;/** File: ThisOldMan.java* ---------------------------* 第4章 编程练习第2题* 美国打发时间的歌曲,ThisOldMan* * Author luoriver*/import acm.program.*;import acm.graphics.*;import acm.program.GraphicsProgram;public class ThisOldMan extends ConsoleProgram {public void run(){for(int i=1; i<11; i++){println("This old man, he played " + i + ".");print("he played the knick-knack on my ");switch(i){case 1: println("thumb.");break;case 2: println("shoe.");break;case 3: println("knee.");break;case 4: println("door.");break;case 5: println("hive.");break;case 6: println("sticks.");break;case 7: println("heaven.");break;case 8: println("pale.");break;case 9: println("spine");break;case 10: println("sbin");break;}println("With a knick-knack,paddy-whack, ");println("Give your dog a bone, ");println("This old man came rolling home.");println("");}}}
3、
package forth_charter;/** File: OddSum.java* ---------------------------* 第4章 编程练习第3题* 计算输入一个数后奇数相加的和* * Author luoriver*/import acm.program.*;import acm.graphics.*;import acm.program.GraphicsProgram;public class OddSum extends ConsoleProgram {public void run(){int n = readInt("请输入一个整数:");int total = 0;for(int i=1; i<=n;){total = total + i;print(i);//判断当前的数加上1是否小于输入的数,如果小于就添加+号if(i+1<n){print("+");}i=i+2;} print("=" + total);}}
4、
package forth_charter;/** File: SixSeven.java* ---------------------------* 第4章 编程练习第4题* 打印出可以被6整除或被7整除,但不能同时被6或7整除的数* * Author luoriver*/import acm.program.*;import acm.graphics.*;import acm.program.GraphicsProgram;public class SixSeven extends ConsoleProgram {public void run(){println("在" + COUNT +"内,能被6整除或被7整除,但不能同时被6或7整除的数有:");for(int i=0; i<COUNT; i++){ if((i % 6 == 0 || i % 7 == 0)&&!(i % 6 == 0 && i % 7 == 0)){ print(i + "、"); }}}//设置为一个固定值private static final int COUNT = 100;}
5、
package forth_charter;/** File: AverageList.java* ---------------------------* 第4章 编程练习第5题* 打印出输入成绩的平均数,以-1作为标志结束* * Author luoriver*/import acm.program.*;import acm.graphics.*;import acm.program.GraphicsProgram;public class AverageList extends ConsoleProgram {public void run(){println("此程序打印出输入学生成绩 的平均值,输入-1结束,并打印出平均值:");double total = 0;double average =0;int i = 0;int value = readInt("请输入学生的成绩:");while(value != -1){i++;total += value;value = readInt("请输入学生的成绩:");}average = total/i;print("成绩的平均值 为:" + average);}}
6、
package forth_charter;/** File: Beer.java* ---------------------------* 第4章 编程练习第6题* 输入一个数以相反的顺序输出* * Author luoriver*/import acm.program.*;import acm.graphics.*;import acm.program.GraphicsProgram;public class OppsiteOut extends ConsoleProgram {public void run(){println("这个程序是输入一个正整数然后以相反的顺序输出");int count = readInt("请输入一个数:");print("反序输出的值为:" );while(count/10!=0){int remainder = count%10;count /=10;if(count/10==0){print(remainder);print(count);}else{print(remainder);}}}}
8、
package forth_charter;/** File: CountDown.java* ---------------------------* 第4章 编程练习第8题* 用while倒数火箭发射时间* * Author luoriver*/import acm.program.*;public class CountDown extends ConsoleProgram {public void run(){int N=START;while(N>0){println(N); N = N -1;}println("liftoff");}//指定从哪一个数开始计时private static final int START = 10;}
9、
package forth_charter;/** File: Fbionacci.java* ---------------------------* 第4章 编程练习第9题* 计算Fbionacci公式* * Author luoriver*/import acm.program.*;import acm.graphics.*;import acm.program.GraphicsProgram;public class Fbionacci extends ConsoleProgram {public void run(){print("这个程序是计算Fbionacci。 ");int N = readInt("请输入一个数 ");for (int i = 0; i <= N; i++) println(i + ": " + Fbionacci.fib(i)); }//通过创建一个方法来实现 public static long fib(int n) { if (n <= 1){ return n; }else{ return fib(n-1) + fib(n-2); } }}
11、
package forth_charter;/** File: Pyramid.java* ---------------------------* 第4章 编程练习第11题* 打印金字塔* * Author luoriver*/import acm.program.*;import acm.graphics.*; public class Pyramid extends GraphicsProgram { public void run(){ double x = (getWidth() - BRICK_IN_BASE * BRICK_WIDTH) / 2; double y = (getHeight() + BRICK_IN_BASE * BRICK_HEIGHT) / 2; for (int i = 2 ; i <= BRICK_IN_BASE; i++){ for(int j = i; j <= BRICK_IN_BASE; j++){ GRect brick = new GRect(x - i * BRICK_WIDTH /2 + j * BRICK_WIDTH, y - i * BRICK_HEIGHT,BRICK_WIDTH, BRICK_HEIGHT); add (brick); } } } /* private constants */ private static final double BRICK_WIDTH = 10; private static final int BRICK_HEIGHT = 6; private static final int BRICK_IN_BASE = 20; }
12、
package forth_charter;/** File: Beer.java* ---------------------------* 第4章 编程练习第12题* * * Author luoriver*/import acm.program.*;import acm.graphics.*;import acm.program.GraphicsProgram;public class Maxest extends ConsoleProgram {public void run(){int max = 0;while(true){ int n = readInt("?:"); if(max< n){ max = n; } if(n == -1) break;}print("最大值为" + max);}}
14、
package forth_charter;/* * File:CheckBoard.java * -------------------- * 画出国际象棋的棋盘,使用嵌套的for循环。 */import acm.graphics.*;import acm.program.*;import java.awt.*;public class CheckBoard extends GraphicsProgram { public void run(){ double sqSize = getHeight() / N_ROWS; for (int i = 0; i < N_ROWS; i++){ for(int j = 0; j < N_COLUMNS; j++){ double x = (getWidth() - N_ROWS * sqSize) / 2 + j * sqSize; double y = i * sqSize; GRect sq = new GRect(x,y,sqSize,sqSize); sq.setFilled((i + j) % 2 != 0); sq.setFillColor(Color.GRAY); add(sq); if (i < 3 && (i + j) % 2 != 0){ GOval checkRed = new GOval(x + 4,y + 4,sqSize - 8, sqSize - 8); checkRed.setFilled(true); checkRed.setColor(Color.RED); add (checkRed); } if (i > 4 && (i + j) % 2 != 0){ GOval checkBlack = new GOval(x + 4,y + 4,sqSize - 8, sqSize - 8); checkBlack.setFilled(true); checkBlack.setColor(Color.BLACK); add (checkBlack); } } } } /* * 定义常量 */ private static final int N_ROWS = 8; private static final int N_COLUMNS = 8;}
15、
package forth_charter;/** File: Beer.java* ---------------------------* 方框移动程序* * Author luoriver*/import java.awt.Color;import acm.graphics.*;import acm.program.GraphicsProgram;public class BoucingBall extends GraphicsProgram { public void run(){ //在画布的中央画一个球 int x = getWidth() / 2; int y = getHeight() / 2; GOval ball = new GOval(x, y,DIAMETER, DIAMETER); ball.setFilled(true); add(ball); //设置移动步长 int dx = 1; int dy = 1; //设置球循环移动 while(true){ ball.move(dx, dy); pause(PAUSE_TIME); x += dx; y += dy; //当球到达最左端即x==0或到达最右端时便向相反的方向运动 if(x > getWidth() - DIAMETER || x < 0) dx = -dx; //当球到达最顶端即y==0或到达最底端时便向相反的方向运动 if(y > getHeight() - DIAMETER || y <0) dy = -dy; } } /* Private constants */ private static final int DIAMETER = 10; private static final int PAUSE_TIME = 20; }
16、
package forth_charter;/** File: RollingFont.java* * ---------------------------* 第4章 编程练习第1题* 美国打发时间的歌曲,啤酒瓶* * Author luoriver*/import java.awt.Color;import acm.program.*;import acm.graphics.*;import acm.program.GraphicsProgram;public class RollingFont extends GraphicsProgram {public void run(){int x = getWidth();int y = getHeight();//设置移动步长int dx = 1;GLabel font = new GLabel("my name is luoriver,Welcom to SIP VoIP communication group is 323827101",x,y) ; font.setColor(Color.BLUE); font.setFont("宋体-200"); add(font) ; while(true){ font.move(-dx, 0); pause(PAUSE_TIME); x += dx; }}//设置暂停时间 private static final int PAUSE_TIME = 20;}
0 0
- 第四章 课后编程
- C++ Primer第四章课后编程题
- 第四章课后作业
- 课后作业第四章
- 第四章课后习题
- java 编程思想课后题(第四章)
- java 编程思想课后题(第四章)
- C++ Primer Plus第四章课后编程答案
- C++ Primer Plus 第四章课后编程练习
- HTML第四章课后作业第四题
- 第四章课后作业第四题
- 【课后作业】第四章总结 .
- 数据结构第四章课后题
- 第四章 课后作业4
- C++ Primer Plus 第六版(中文版)课后编程题----第四章
- 在大规模并行处理器编程实战中遇到第四章的课后习题blocksize的问题
- Scala函数式编程课后习题答案(第四章)(更新ing)
- Python核心编程(第三版)课后习题解答——第四章
- ncnc
- SimpleExpandableListAdapter(分组List)参数详解
- 如何成为一个C++高级程序员
- Machine Learning(Andrew)Week9(上)
- Android修炼之道—Talker聊天小工具
- 第四章 课后编程
- ORA-10635: Invalid segment or tablespace type
- One Year at Vimbra
- Source insight “An invalid Source Insight serial number was detected”问题的修改
- 内存分配问题
- Adroid 下菜单的使用
- Activity 启动模式及Intent的Flags
- Spring security学习笔记二
- 面向过程 与面向对象的区别