面向对象程序设计期末

Java期末.zip

  1. /*-------------------------------------------------------
  2. 【程序改错】
  3. ---------------------------------------------------------
  4. 题目:
  5. 题目:该程序的功能是打印如下所示图形:
  6. *
  7. ***
  8. *****
  9. *******
  10. *********
  11. -------------------------------------------------------*/
  12. public class Prog1 {
  13. public static void main(String[] args) {
  14. /***********FOUND***********/
  15. for (int i=1;i<=5;i++){
  16. /***********FOUND***********/
  17. for(int k=1;k<=5-i;k++)
  18. System.out.print(" ");
  19. /***********FOUND***********/
  20. for(int j=1;j<=2*i-1;j++)
  21. System.out.print("*");
  22. /***********FOUND***********/
  23. System.out.println();
  24. }
  25. }
  26. }
  27. /*-------------------------------------------------------
  28. 【程序改错】
  29. ---------------------------------------------------------
  30. 题目:该程序功能是,从键盘输入5个整数,输出其中最大值。
  31. 例如:从键盘输入
  32. 10
  33. 30
  34. 50
  35. 20
  36. 40
  37. 则屏幕显示
  38. 输入的最大值是 50
  39. -------------------------------------------------------*/
  40. import java.io.*;
  41. public class Prog1 {
  42. /***********FOUND***********/
  43. public static void main(String[] args) throws IOException {
  44. InputStreamReader ir;
  45. BufferedReader in;
  46. int max, x;
  47. String data;
  48. max = 0;
  49. ir = new InputStreamReader(System.in);
  50. in = new BufferedReader(ir);
  51. System.out.println("请输入5个正整数:");
  52. /***********FOUND***********/
  53. for (int i = 1; i<= 5 ; i++) {
  54. data = in.readLine();
  55. /***********FOUND***********/
  56. x =Integer.parseInt(data);
  57. if ( max < x )
  58. /***********FOUND***********/
  59. max=x;
  60. }
  61. System.out.println("输入的最大值是 "+ max);
  62. }
  63. }
  64. /*-------------------------------------------------------
  65. 【程序改错】
  66. ---------------------------------------------------------
  67. 题目:完成程序的编写,运行结果显示如下:
  68. 1 2 3 4 5 6
  69. 1 2 3 4 5
  70. 1 2 3 4
  71. 1 2 3
  72. 1 2
  73. 1
  74. -------------------------------------------------------*/
  75. public class Prog1 {
  76. public static void main(String[] args) {
  77. /***********FOUND***********/
  78. int[][] aTriangle = new int[6][];
  79. int i = 0;
  80. int j = 6;
  81. int k = 0;
  82. /***********FOUND***********/
  83. for ( i = 0; i < aTriangle.length; i++) {
  84. aTriangle[i]=new int[j]; //创建数组。
  85. //给每个数组元素赋值并在一行中打印输出。
  86. for ( k = 0; k < aTriangle.length-i; k++) {
  87. /***********FOUND***********/
  88. aTriangle[i][k]=k+1;
  89. /***********FOUND***********/
  90. System.out.print(aTriangle[i][k]+ " ");
  91. }
  92. j--;
  93. System.out.println(); //换行。
  94. }
  95. }
  96. }
  97. /*-------------------------------------------------------
  98. 【程序改错】
  99. ---------------------------------------------------------
  100. 题目:对程序进行调试,使程序输出结果如下所示:
  101. false
  102. true
  103. -------------------------------------------------------*/
  104. /***********FOUND***********/
  105. public class Prog1
  106. {
  107. /***********FOUND***********/
  108. public static void main (String []args)
  109. {
  110. String s1=new String("你正在考试");
  111. /***********FOUND***********/
  112. String s2= new String("你正在考试");
  113. System.out.println(s1==s2);
  114. /***********FOUND***********/
  115. System.out.println(s1.equals(s2));
  116. }
  117. }
  118. /*-------------------------------------------------------
  119. 【程序改错】
  120. ---------------------------------------------------------
  121. 题目:打印输出如下图形:
  122. * * * * * * * * *
  123.   * * * * * * *  
  124.    * * * * *
  125. * * *
  126. *
  127. -------------------------------------------------------*/
  128. public class Prog1
  129. {
  130. /***********FOUND***********/
  131. public static void main(String args[])
  132. {
  133. int i,j;
  134. /***********FOUND***********/
  135. for (i=1;i<=5;i++)
  136. {
  137. for(j=1;j<i;j++)
  138. System.out.print(" ");
  139. /***********FOUND***********/
  140. for (j=1;j<=11-2*i;j++)
  141. System.out.print("* ");
  142. /***********FOUND***********/
  143. System.out.println();
  144. }
  145. }
  146. }
  147. /*-------------------------------------------------------
  148. 【程序改错】
  149. ---------------------------------------------------------
  150. 题目:从键盘上输入一个整数n,计算n+n×n+n×n×n+n×n×n×n的值
  151. -------------------------------------------------------*/
  152. import java.io.*;
  153. public class Prog1
  154. {
  155. public static void main(String args[]) throws IOException
  156. {
  157. int n,i;
  158. double s,r;
  159. BufferedReader buf;
  160. buf=new BufferedReader(new InputStreamReader(System.in));
  161. System.out.print("请输入一个整数:");
  162. /***********FOUND***********/
  163. n=Integer.parseInt(buf.readLine());
  164. s=0;
  165. /***********FOUND***********/
  166. r=1;
  167. /***********FOUND***********/
  168. for(i=1;i<=4;i++)
  169. {
  170. /***********FOUND***********/
  171. r=r*n;
  172. s=s+r;
  173. }
  174. System.out.println("和值是:"+s);
  175. }
  176. }
  177. /*-------------------------------------------------------
  178. 【程序改错】
  179. ---------------------------------------------------------
  180. 题目:计算1到100的整数和值
  181. -------------------------------------------------------*/
  182. public class Prog1
  183. {
  184. /***********FOUND***********/
  185. public static void main (String args[])
  186. {
  187. /***********FOUND***********/
  188. int n=100,sum=0;
  189. while(n>0)
  190. {
  191. sum+=n;
  192. /***********FOUND***********/
  193. n=n-1;
  194. }
  195. /***********FOUND***********/
  196. System.out.println("Sum is "+sum);
  197. }
  198. }
  199. /*-------------------------------------------------------
  200. 【程序改错】
  201. ---------------------------------------------------------
  202. 题目:计算并输出100以内最大的10个能被3或7整除的自然数之和
  203. -------------------------------------------------------*/
  204. public class Prog1
  205. {
  206. public static void main(String args[])
  207. {
  208. int k,s=0,mc=0;
  209. /***********FOUND***********/
  210. for (k=100;k>0;k--)
  211. {
  212. /***********FOUND***********/
  213. if (k%3 == 0 || k%7==0)
  214. {
  215. /***********FOUND***********/
  216. s=s+k;
  217. mc++;
  218. }
  219. /***********FOUND***********/
  220. if (mc==10)
  221. break;
  222. }
  223. System.out.println("Sum is "+s);
  224. }
  225. }
  226. /*-------------------------------------------------------
  227. 【程序改错】
  228. ---------------------------------------------------------
  229. 题目:求1到100的偶数之和,奇数之积
  230. -------------------------------------------------------*/
  231. public class Prog1
  232. {
  233. public static void main(String args[])
  234. {
  235. /***********FOUND***********/
  236. int i,j,sum=0;
  237. /***********FOUND***********/
  238. long product=1;
  239. for(i=1;i<=100;i++)
  240. {
  241. /***********FOUND***********/
  242. if (i%2==0)
  243. sum+=i;
  244. else
  245. /***********FOUND***********/
  246. product=product*i;
  247. }
  248. System.out.println("偶数之和是 : "+sum);
  249. System.out.println("奇数之积是 : "+product);
  250. }
  251. }
  252. /*-------------------------------------------------------
  253. 【程序改错】
  254. ---------------------------------------------------------
  255. 题目:根据学生的考试的百分制成绩得出分数等级。
  256. (90~100为A级,80~89为B级,70~79为C级,60~69为D级,
  257. 60分以下为E级)
  258. -------------------------------------------------------*/
  259. import java.io.*;
  260. public class Prog1
  261. {
  262. public static void main(String args[]) throws IOException
  263. {
  264. int grade;
  265. /*****************FOUND*****************/
  266. String str;
  267. BufferedReader buf;
  268. buf=new BufferedReader(new InputStreamReader(System.in));
  269. System.out.print("请输入考试成绩:");
  270. str=buf.readLine();
  271. /*****************FOUND*****************/
  272. grade=Integer.parseInt(str);
  273. System.out.print("对应的级别为:");
  274. /*****************FOUND*****************/
  275. if (grade>=90)
  276. System.out.println("A");
  277. else if (grade>=80)
  278. System.out.println("B");
  279. else if (grade>=70)
  280. System.out.println("C");
  281. else if (grade>=60)
  282. System.out.println("D");
  283. /*****************FOUND*****************/
  284. else
  285. System.out.println("E");
  286. }
  287. }
  288. /*-------------------------------------------------------
  289. 【程序改错】
  290. ---------------------------------------------------------
  291. 题目:从键盘上输入一个正整数,计算该数的各位数字之和
  292. -------------------------------------------------------*/
  293. import java.io.*;
  294. /***********FOUND***********/
  295. public class Prog1
  296. {
  297. public static void main(String args[]) throws IOException
  298. {
  299. int m,s;
  300. BufferedReader buf;
  301. buf=new BufferedReader(new InputStreamReader(System.in));
  302. System.out.print("请输入一个自然数:");
  303. m=Integer.parseInt(buf.readLine());
  304. /***********FOUND***********/
  305. s=0;
  306. while(m!=0)
  307. {
  308. /***********FOUND***********/
  309. s=s+m%10;
  310. /***********FOUND***********/
  311. m=m/10;
  312. }
  313. System.out.print("其各位数字之和为:"+s);
  314. }
  315. }
  316. /*-------------------------------------------------------
  317. 【程序改错】
  318. ---------------------------------------------------------
  319. 题目:从键盘上接受用户输入的10个整数,并输出这10个整数的
  320. 最大值和最小值
  321. -------------------------------------------------------*/
  322. import java.io.* ;
  323. public class Prog1
  324. {
  325. public static void main(String args[ ]) throws IOException
  326. {
  327. int i, n=10, max, min,temp,sum=0;
  328. BufferedReader buf;
  329. buf=new BufferedReader(new InputStreamReader(System.in));
  330. /***********FOUND***********/
  331. max=min==Integer.parseInt(buf.readLine());
  332. /***********FOUND***********/
  333. for( i=1; i<=n;i++)
  334. {
  335. temp=Integer.parseInt(buf.readLine());
  336. if (temp > max )
  337. /***********FOUND***********/
  338. temp=max;
  339. if (temp < min)
  340. /***********FOUND***********/
  341. temp=min;
  342. }
  343. System.out.println("max="+max+"\nmin="+min);
  344. }
  345. }
  346. /*-------------------------------------------------------
  347. 【程序改错】
  348. ---------------------------------------------------------
  349. 题目:求自然数1至100之间各奇数平方和并输出
  350. -------------------------------------------------------*/
  351. public class Prog1
  352. {
  353. public static void main(String args[])
  354. {
  355. /***********FOUND***********/
  356. int i,j,s;
  357. s=0;
  358. /***********FOUND***********/
  359. i=1;
  360. while(i<100)
  361. {
  362. /***********FOUND***********/
  363. if(i%2!=0)
  364. s=s+i*i;
  365. i=i+2;
  366. }
  367. /***********FOUND***********/
  368. System.out.println("和值是:"+s);
  369. }
  370. }
  371. /*-------------------------------------------------------
  372. 【程序改错】
  373. ---------------------------------------------------------
  374. 题目:从键盘上输入一个字符,判断该字符是数字字符、英文字符
  375. 还是其他字符
  376. -------------------------------------------------------*/
  377. import java.io.*;
  378. public class Prog1
  379. {
  380. public static void main(String args[]) throws IOException
  381. {
  382. /***********FOUND***********/
  383. char c;
  384. /***********FOUND***********/
  385. c=(char)System.in.read();
  386. if (c>='0'&&c<='9')
  387. System.out.println(c+"是数字字符");
  388. /***********FOUND***********/
  389. else if(c>='A'&&c<='Z'||c>='a'&&c<='z')
  390. System.out.println(c+"是英文字符");
  391. /***********FOUND***********/
  392. else
  393. System.out.println(c+"是其他字符");
  394. }
  395. }
  396. /*-------------------------------------------------------
  397. 【程序改错】
  398. ---------------------------------------------------------
  399. 题目:从键盘读入字符,直到接收到一个#号为止,计算并输出空
  400. 格的数量
  401. -------------------------------------------------------*/
  402. import java.io.*;
  403. public class Prog1
  404. {
  405. public static void main(String args[]) throws IOException
  406. {
  407. char ch;
  408. /***********FOUND***********/
  409. int sp=0;
  410. System.out.println("请输入若干字符(以#结束):");
  411. do
  412. {
  413. /***********FOUND***********/
  414. ch=(char)System.in.read();
  415. /***********FOUND***********/
  416. if(ch==' ')
  417. sp++;
  418. /***********FOUND***********/
  419. } while(ch!='#');
  420. System.out.println("空格数是:"+sp);
  421. }
  422. }
  423. /*-------------------------------------------------------
  424. 【程序设计】
  425. ---------------------------------------------------------
  426. 题目:编写Java Application,实现Student类的定义。
  427. 要求:(1)定义Student类的属性:
  428. 姓名(字符串类型,变量名为name)
  429. 学号(字符串类型,变量名为sNum)
  430. 年龄(整型,变量名为age)
  431. 出生日期(日期类型,变量名为birthDate)
  432. 成绩(浮点型,变量名为score)
  433. (2)Student类具有的方法:
  434. 设置姓名(name)方法,方法名为setName(),无返回值。
  435. 设置成绩(score)方法,方法名为setScore(),无返回值
  436. -------------------------------------------------------*/
  437. import java.util.Date;
  438. /**********Program**********/
  439. class Student{
  440. String name;
  441. String sNum;
  442. int age;
  443. Date birthDate;
  444. float score;
  445. public void setName(String name){
  446. this.name = name;
  447. }
  448. public void setScore(float score){
  449. this.score = score;
  450. }
  451. }
  452. /********** End **********/
  453. public class Prog1{
  454. public static void main(String args[]){
  455. Student s1=new Student();
  456. s1.setName("Tom");
  457. s1.setScore(89);
  458. System.out.println("姓名:"+s1.name);
  459. System.out.println("成绩:"+s1.score);
  460. }
  461. }
  462. /*-------------------------------------------------------
  463. 【程序设计】
  464. ---------------------------------------------------------
  465. 题目:编写Java Application,实现Student子类Undergraduate类的定义。
  466. 要求:(1)Undergraduate类的属性:
  467. 系(字符串类型,变量名为department)
  468. 专业(字符串类型,变量名为major)
  469. (2)实现Undergraduate类的4个方法:
  470. 默认构造方法,实现调用父类构造方法。
  471. 获取系别方法,方法名为getDepartment(),返回值为字符串
  472. 设置系别方法,方法名为setDepartment(),无返回值
  473. 设置专业方法,方法名为setMajor(),无返回值
  474. -------------------------------------------------------*/
  475. import java.util.Date;
  476. class Student{
  477. String name;
  478. String sNum;
  479. int age;
  480. Date birthDate;
  481. float score;
  482. Student(){
  483. }
  484. void setName(String name){
  485. this.name=name;
  486. }
  487. void setScore(float score){
  488. this.score=score;
  489. }
  490. }
  491. /**********Program**********/
  492. class Undergraduate extends Student{
  493. String department;
  494. String major;
  495. public Undergraduate(){
  496. super();
  497. }
  498. public String getDepartment(){
  499. return department;
  500. }
  501. public void setDepartment(String department){
  502. this.department = department;
  503. }
  504. public void setMajor(String major){
  505. this.major = major;
  506. }
  507. }
  508. /********** End **********/
  509. public class Prog1{
  510. public static void main(String[] args){
  511. Undergraduate u1=new Undergraduate();
  512. u1.setName("Peter");
  513. u1.setScore(78);
  514. u1.setDepartment("计算机");
  515. u1.setMajor("软件工程");
  516. u1.getDepartment();
  517. System.out.println("姓名:"+u1.name);
  518. System.out.println("系 :"+u1.department);
  519. System.out.println("专业:"+u1.major);
  520. System.out.println("成绩:"+u1.score);
  521. }
  522. }
  523. /*-------------------------------------------------------
  524. 【程序设计】
  525. ---------------------------------------------------------
  526. 题目:编写Java Application,实现People类的定义。
  527. 要求:(1)定义People类的属性:
  528. 姓名(字符串类型,变量名为name)
  529. 年龄(整型,变量名为age)
  530. 性别(字符串类型,变量名为sex)
  531. (2)实现People类的方法:
  532. 定义一个有单个参数(字符串类型的变量name)的公共构造方法,用于输出变量name的值及"创建了父类对象" 。
  533. 定义公共方法work(),无返回值,用于输出"我开始上学了"
  534. 定义方法eat(),无返回值,用于输出"开始吃饭了!!"
  535. 设置姓名方法,方法名为setName,无返回值
  536. -------------------------------------------------------*/
  537. /**********Program**********/
  538. class People{
  539. String name;
  540. int age;
  541. String sex;
  542. public People(String name){
  543. System.out.println(name + "创建了父类对象");
  544. }
  545. public void work(){
  546. System.out.println("我开始上学了");
  547. }
  548. public void eat(){
  549. System.out.println("开始吃饭了!!");
  550. }
  551. public void setName(String name){
  552. this.name = name;
  553. }
  554. }
  555. /********** End **********/
  556. public class Prog1{
  557. public static void main(String args[]){
  558. People p1=new People("小明");
  559. p1.setName("张晓明");
  560. p1.work();
  561. p1.eat();
  562. System.out.println("姓名:"+p1.name);
  563. System.out.println("年龄:20");
  564. }
  565. }
  566. /*-------------------------------------------------------
  567. 【程序设计】
  568. ---------------------------------------------------------
  569. 题目:编写Java Application,实现Person类的子类Stud类的定义。
  570. 要求:(1)定义Stud类的属性:
  571. 学号(字符串类型,变量名为snum)
  572. 班级(字符串类型,变量名为grade)
  573. 成绩(浮点类型,变量名为score)
  574. (2)实现Stud类的方法:
  575. 定义一个有单个参数(字符串类型的变量name)的构造方法,调用父类构造方法,并输出"创建了子类对象"
  576. 重写父类的公共work方法,该方法返回值为空,实现父类的work方法的调用,并输出"我开始上学了!!"
  577. 定义设置学号的方法,方法名为setSnum,用于给snum成员变量赋值。
  578. -------------------------------------------------------*/
  579. class Person {
  580. String name;
  581. int age;
  582. String sex;
  583. public Person(String name){
  584. System.out.println(name+"创建了父类对象");
  585. }
  586. public void work(){
  587. System.out.println("我开始上学了!!");
  588. }
  589. void eat(){
  590. System.out.println("开始吃饭了!!");
  591. }
  592. void setName(String newName){
  593. this.name=newName;
  594. }
  595. }
  596. /**********Program**********/
  597. class Stud extends Person{
  598. String snum;
  599. String grade;
  600. float score;
  601. public Stud(String name){
  602. super(name);
  603. System.out.println("创建了子类对象");
  604. }
  605. public void work(){
  606. super.work();
  607. }
  608. void setSnum(String snum){
  609. this.snum = snum;
  610. }
  611. }
  612. /********** End **********/
  613. public class Prog1{
  614. public static void main(String args[]){
  615. Stud s1=new Stud("Tom");
  616. s1.setName("Team");
  617. s1.setSnum("14403");
  618. s1.work();
  619. s1.eat();
  620. System.out.println("姓名:"+s1.name);
  621. System.out.println("学号:"+s1.snum);
  622. }
  623. }
  624. /*-------------------------------------------------------
  625. 【程序设计】
  626. ---------------------------------------------------------
  627. 题目:编写Java Application,实现Human类定义。
  628. 要求:(1)Human类拥有属性:
  629. 姓名(字符串类型,变量名为name)
  630. 年龄(整型,变量名为age)
  631. (2)Human类的方法有2个:
  632. 设置该类的有参构造方法,实现对姓名及年龄成员变量的初始化。
  633. 设置获取方法,方法名为getInfo(),分别输出姓名(name)和年龄(age)的值。
  634. -------------------------------------------------------*/
  635. /**********Program**********/
  636. class Human{
  637. String name;
  638. int age;
  639. public Human(String name, int age){
  640. this.name = name;
  641. this.age = age;
  642. }
  643. public void getInfo(){
  644. System.out.println(name + age);
  645. }
  646. }
  647. /********** End **********/
  648. public class Prog1{
  649. public static void main(String args[]){
  650. Human h1=new Human("王梅",20);
  651. h1.getInfo();
  652. }
  653. }
  654. /*-------------------------------------------------------
  655. 【程序设计】
  656. ---------------------------------------------------------
  657. 题目:编写Java Application,实现Peoples类的子类Students(学生)的定义。
  658. 要求:(1)Students类拥有属性:
  659. 学生学号(字符串类型,变量名为sNum)
  660. 学生年级(字符串类型,变量名为grade)
  661. (2)Students类的方法有2个:
  662. 设置该类的有参构造方法,利用super调用父类的有参构造方法,并对学号(sNum)和年级(grade)初始化。
  663. 重写getInfo()方法,该方法调用父类的getInfo()方法,并分别输出学号(sNum)和年级(grade)的值。
  664. -------------------------------------------------------*/
  665. class Peoples{
  666. String name;
  667. int age;
  668. Peoples(String newName,int newAge){
  669. this.name=newName;
  670. this.age=newAge;
  671. }
  672. void getInfo(){
  673. System.out.println("学生姓名:"+name);
  674. System.out.println("学生年龄:"+age);
  675. }
  676. }
  677. /**********Program**********/
  678. class Students extends Peoples{
  679. String sNum;
  680. String grade;
  681. public Students(String newName,int newAge,String sNum,String grade){
  682. super(newName,newAge);
  683. this.sNum = sNum;
  684. this.grade = grade;
  685. }
  686. void getInfo(){
  687. super.getInfo();
  688. System.out.println("学生学号:" + sNum);
  689. System.out.println("学生年级:" + grade);
  690. }
  691. }
  692. /********** End **********/
  693. public class Prog1{
  694. public static void main(String args[]){
  695. Students s1=new Students("Tom",20,"14401","1");
  696. s1.getInfo();
  697. }
  698. }
  699. /*-------------------------------------------------------
  700. 【程序设计】
  701. ---------------------------------------------------------
  702. 题目:编写Java Application,实现BankAccount类的定义。
  703. 要求:(1)BankAccount类拥有属性:
  704. 姓名(name, String)
  705. 存款额(balance, double)
  706. 存期(year, int)
  707. (2)BankAccount类的构造方法有2个:
  708. 一个构造方法不含形参,设置默认的存款额为10元,存期为一年。
  709. 另一个构造方法包含2个用于创建对象时设置存款额与存期的形参。
  710. (3)BankAccount类的方法有2个:
  711. 存款(save)方法,返回值为空
  712. 取款(fetch),返回值为空
  713. -------------------------------------------------------*/
  714. /**********Program**********/
  715. class BankAccount{
  716. String name;
  717. double balance;
  718. int year;
  719. public BankAccount(){
  720. this.balance = 10;
  721. this.year = 1;
  722. }
  723. public BankAccount(double balance, int year){
  724. this.balance = balance;
  725. this.year = year;
  726. }
  727. public void save(double a){
  728. balance += a;
  729. }
  730. public void fetch(double a){
  731. balance -= a;
  732. }
  733. }
  734. /********** End **********/
  735. public class Prog1{
  736. public static void main(String args[]){
  737. BankAccount ba1=new BankAccount();
  738. ba1.save(1000);
  739. ba1.fetch(600);
  740. System.out.println("姓名:王晓明");
  741. System.out.println("存款额:"+ba1.balance);
  742. }
  743. }
  744. /*-------------------------------------------------------
  745. 【程序设计】
  746. ---------------------------------------------------------
  747. 题目:编写Java Application,在主方法main()中对BankAccounts类的操作。
  748. 要求:(1) 创建一帐户,对象名为tom,创建时即(利用构造方法)存入1000元,存期3年
  749. (2) 存入2000元(利用save方法)
  750. (3) 取出1000元(利用fetch方法)
  751. (4) 计算存期满后的总金额(利用calcTotal方法),将结果存储到变量total中。
  752. (5) 按行依次输出帐户tom的基本信息姓名name,存期year和存款额balance,以及存期满后的总金额。
  753. -------------------------------------------------------*/
  754. class BankAccounts{
  755. String name="Tom";
  756. double balance;
  757. int year;
  758. double rate;
  759. BankAccounts(){
  760. balance=10.0;
  761. year=1;
  762. }
  763. BankAccounts(double balance,int year){
  764. this.balance=balance;
  765. this.year=year;
  766. }
  767. void save(double newBalance){
  768. balance=balance+newBalance;
  769. }
  770. void fetch(double newBalance){
  771. balance=balance-newBalance;
  772. }
  773. double calcTotal(){
  774. return balance=balance+balance*rate*year;
  775. }
  776. }
  777. public class Prog1{
  778. /**********Program**********/
  779. public static void main(String[] args) {
  780. BankAccounts tom = new BankAccounts(1000, 3);
  781. tom.save(2000);
  782. tom.fetch(1000);
  783. double total = tom.calcTotal();
  784. System.out.println("姓名:" + tom.name);
  785. System.out.println("存期:" + tom.year);
  786. System.out.println("存款额:" + tom.balance);
  787. System.out.println("存期满后的总金额:" + total);
  788. }
  789. /********** End **********/
  790. }
  791. /*-------------------------------------------------------
  792. 【程序设计】
  793. ---------------------------------------------------------
  794. 题目:编写Java Application,实现接口Iarea和实现类Circle的定义。
  795. 要求:(1) 定义一个接口Iarea,声明计算圆面积的抽象方法area(),返回类型为double,参数r表示半径,类型为double
  796. (2) 在接口中声明变量PI,类型为double,初值为3.1415926。
  797. (3) 定义一个类Circle,实现接口Iarea中的抽象方法area()。
  798. (4) 在类Circle中,声明2个属性半径cR和面积cArea。
  799. (5) 在类Circle中,定义一个设置半径方法setR(),返回值为空。
  800. (6) 在类Circle中,定义一个获取半径方法getR(),返回值为double。
  801. -------------------------------------------------------*/
  802. /**********Program**********/
  803. interface Iarea {
  804. double PI = 3.1415926;
  805. public abstract double area(double r);
  806. }
  807. class Circle implements Iarea{
  808. double cR;
  809. double cArea;
  810. @Override
  811. public double area(double r) {
  812. return PI * r * r;
  813. }
  814. public void setR(double cR) {
  815. this.cR = cR;
  816. }
  817. public double getR() {
  818. return cR;
  819. }
  820. }
  821. /********** End **********/
  822. public class Prog1{
  823. public static void main(String args[]){
  824. Circle circle=new Circle();
  825. circle.setR(5);
  826. double r1=circle.getR();
  827. circle.area(r1);
  828. System.out.println("面积:"+r1);
  829. }
  830. }
  831. /*-------------------------------------------------------
  832. 【程序设计】
  833. ---------------------------------------------------------
  834. 题目:编写Java Application,在主方法main()中对Studs类的操作。
  835. 要求:(1) 创建Stud类对象s1,姓名为"Jack",年龄为20,学号为"01",年级为"14401"。
  836. (2) 修改学生的姓名为"Tom"。
  837. (3) 修改学生的学号为"14402"。
  838. (4) 通过s1调用父类eat()方法。
  839. (5) 通过s1调用work()方法。
  840. (6) 通过s1调用getInfo()方法输出相关信息。
  841. -------------------------------------------------------*/
  842. class People{
  843. String name;
  844. int age;
  845. People(String newName,int newAge){
  846. this.name=newName;
  847. this.age=newAge;
  848. }
  849. public void work(){
  850. System.out.println("我开始上学了!!");
  851. }
  852. void eat(){
  853. System.out.println("开始吃饭了!!");
  854. }
  855. void setName(String newName){
  856. this.name=newName;
  857. }
  858. void getInfo(){
  859. System.out.println("学生姓名:"+name);
  860. System.out.println("学生年龄:"+age);
  861. }
  862. }
  863. class Studs extends People{
  864. String sNum;
  865. String grade;
  866. Studs(String name,int age,String sNum,String grade){
  867. super(name,age);
  868. this.sNum=sNum;
  869. this.grade=grade;
  870. }
  871. void getInfo(){
  872. super. getInfo();
  873. System.out.println("学生学号:"+sNum);
  874. System.out.println("学生年级:"+grade);
  875. }
  876. public void work(){
  877. super.work();
  878. System.out.println("我开始上学了!!");
  879. }
  880. void setSnum(String newSnum){
  881. this.sNum=newSnum;
  882. }
  883. }
  884. public class Prog1{
  885. /**********Program**********/
  886. public static void main(String args[]){
  887. Studs s1 = new Studs("Jack",20,"01","14401");
  888. s1.setName("Tom");
  889. s1.setSnum("14402");
  890. s1.eat();
  891. s1.work();
  892. s1.getInfo();
  893. }
  894. /********** End **********/
  895. }
  896. /*-------------------------------------------------------
  897. 【程序填空】
  898. ---------------------------------------------------------
  899. 本题的功能是求1~100的自然数的累加,并打印输出计算结果。
  900. -------------------------------------------------------*/
  901. public class Prog1{
  902. public static void main(String[] args) {
  903. int sum=0;
  904. int i=1;
  905. for(;;){
  906. /***********SPACE***********/
  907. if(i<=100){
  908. sum=sum+i;
  909. }else
  910. /***********SPACE***********/
  911. break;
  912. /***********SPACE***********/
  913. i++;
  914. }
  915. System.out.println("sum="+sum);
  916. }
  917. }
  918. /*-------------------------------------------------------
  919. 【程序填空】
  920. ---------------------------------------------------------
  921. 本题统计字符串str中字母a出现的次数,其中str为"(7&asdfasdf873eat687#a1(4a",
  922. 字母′a′存储在字符变量c中,最后打印输出结果。
  923. -------------------------------------------------------*/
  924. public class Prog1{
  925. public static void main(String[] args) {
  926. String str="(*&7asdf adf873eat687#a1(4a";
  927. char c;
  928. int sum=0;
  929. int i=0;
  930. do{
  931. /***********SPACE***********/
  932. c=str.charAt(i);
  933. /***********SPACE***********/
  934. if(c=='a')
  935. sum++;
  936. i++;
  937. /***********SPACE***********/
  938. }while(str.length()>i);
  939. System.out.println("sum="+sum);
  940. }
  941. }
  942. /*-------------------------------------------------------
  943. 【程序填空】
  944. ---------------------------------------------------------
  945. 本题的功能是计算1~10之间除了5以外的各个自然数的和。
  946. -------------------------------------------------------*/
  947. public class Prog1{
  948. public static void main(String[] args) {
  949. int i=1;
  950. int sum=0;
  951. while(i<=10){
  952. if(i==5){
  953. /***********SPACE***********/
  954. i=i+1;
  955. /***********SPACE***********/
  956. continue;
  957. }
  958. /***********SPACE***********/
  959. sum=sum+i;
  960. i++;
  961. }
  962. System.out.println("sum="+sum);
  963. }
  964. }
  965. /*-------------------------------------------------------
  966. 【程序填空】
  967. ---------------------------------------------------------
  968. 本题定义了一个求两个数的最大值的方法max,并调用该方法计算67和23的最大值。
  969. -------------------------------------------------------*/
  970. public class Prog1{
  971. public static void main(String[] args) {
  972. java1 temp=new java1();
  973. int res=max(67,23);
  974. System.out.println("res="+res);
  975. }
  976. /***********SPACE***********/
  977. static int max(int a,int b){
  978. int maxNum;
  979. if(a>b)
  980. /***********SPACE***********/
  981. maxNum=a;
  982. else
  983. maxNum=b;
  984. /***********SPACE***********/
  985. return maxNum;
  986. }
  987. }
  988. /*-------------------------------------------------------
  989. 【程序填空】
  990. ---------------------------------------------------------
  991. 本题分别比较两个字符串"A"和"a"是否相等,并比较两个字符"A"和"a"是否相等,
  992. 并输出比较结果。
  993. -------------------------------------------------------*/
  994. public class Prog1{
  995. public static void main(String[] args) {
  996. /***********SPACE***********/
  997. char c1,c2;
  998. c1='A';
  999. c2='a';
  1000. String str1=new String("A"),str2=new String("a");
  1001. /***********SPACE***********/
  1002. if(c1==c2)
  1003. System.out.println(" char "+c1+" equals "+" char"+c2);
  1004. else
  1005. System.out.println(" char "+c1+" doesn't equal "+" char "+c2);
  1006. /***********SPACE***********/
  1007. if(str1.equals(str2))
  1008. System.out.println(" string "+str1+" equals "+" string"+str2);
  1009. else
  1010. System.out.println(" string "+str1+" doesn't equal "+" string "+str2);
  1011. }
  1012. }
  1013. /*-------------------------------------------------------
  1014. 【程序填空】
  1015. ---------------------------------------------------------
  1016. 本题的变量a为字符型,变量b为16位短整型,变量c为64位长整型。
  1017. -------------------------------------------------------*/
  1018. public class Prog1{
  1019. public static void main(String[] args) {
  1020. /***********SPACE***********/
  1021. char a='c';
  1022. /***********SPACE***********/
  1023. short b=16;
  1024. /***********SPACE***********/
  1025. long c=0xfffL;
  1026. System.out.println("a="+a);
  1027. System.out.println("b="+b);
  1028. System.out.println("c="+c);
  1029. }
  1030. }
  1031. /*-------------------------------------------------------
  1032. 【程序填空】
  1033. ---------------------------------------------------------
  1034. 本题中定义了方法check用来判断学生成绩是否通过考试(成绩>=60),
  1035. 程序中调用该方法判断成绩为75分的学生是否通过考试,并打印输出判断结果。
  1036. -------------------------------------------------------*/
  1037. public class Prog1{
  1038. public static void main(String[] args) {
  1039. int score=75;
  1040. System.out.println(score+" means "+check(score));
  1041. }
  1042. /***********SPACE***********/
  1043. static String check(int score){
  1044. String str;
  1045. /***********SPACE***********/
  1046. if(score>=60)
  1047. str="pass";
  1048. else
  1049. str="fall";
  1050. /***********SPACE***********/
  1051. return str;
  1052. }
  1053. }
  1054. /*-------------------------------------------------------
  1055. 【程序填空】
  1056. ---------------------------------------------------------
  1057. 本题的功能是求前20个自然数中所有能被3整除的数的和,并打印输出结果。
  1058. -------------------------------------------------------*/
  1059. public class Prog1{
  1060. public static void main(String[] args) {
  1061. /***********SPACE***********/
  1062. int sum=0;
  1063. int i;
  1064. /***********SPACE***********/
  1065. for(i=1;i<=20;i++){
  1066. /***********SPACE***********/
  1067. if(i%3==0)
  1068. sum=sum+i;
  1069. }
  1070. System.out.println("sum:"+sum);
  1071. }
  1072. }
  1073. /*-------------------------------------------------------
  1074. 【程序填空】
  1075. ---------------------------------------------------------
  1076. 本题求1~20间所有奇数的和,并打印输出最终结果。
  1077. -------------------------------------------------------*/
  1078. public class Prog1{
  1079. public static void main(String[] args) {
  1080. int sum=0;
  1081. /***********SPACE***********/
  1082. for(int i=1;i<=20;i++){
  1083. /***********SPACE***********/
  1084. if(i%2!=0)
  1085. /***********SPACE***********/
  1086. sum+=i;
  1087. }
  1088. System.out.println("sum:"+sum);
  1089. }
  1090. }
  1091. /*-------------------------------------------------------
  1092. 【程序填空】
  1093. ---------------------------------------------------------
  1094. 本题的功能是依次输出26个字母,即A~Z。
  1095. -------------------------------------------------------*/
  1096. public class Prog1{
  1097. public static void main(String[] args) {
  1098. int i=0;
  1099. char c='A';
  1100. /***********SPACE***********/
  1101. for(i=0;i<26;i++){
  1102. System.out.print(c+" ");
  1103. /***********SPACE***********/
  1104. c=(char)(c+1);
  1105. }
  1106. }
  1107. }
  1108. /*-------------------------------------------------------
  1109. 【程序填空】
  1110. ---------------------------------------------------------
  1111. 本题中定义了一个带有参数的构造方法java1(),并定义了一个该类的对象temp。
  1112. 构造方法java1()有两个参数:字符串name和整形age。
  1113. 定义对象temp时将字符串"Tom"和整数17传递给构造方法,构造方法将这两个参数打印输出。
  1114. -------------------------------------------------------*/
  1115. public class Prog1{
  1116. String name;
  1117. int age;
  1118. public static void main(String[] args) {
  1119. String name="Tom";
  1120. int age=17;
  1121. /***********SPACE***********/
  1122. java1 temp = new java1(name,age);
  1123. }
  1124. /***********SPACE***********/
  1125. public java1(String name,int age){
  1126. /***********SPACE***********/
  1127. this.name = name;
  1128. this.age=age;
  1129. System.out.println(name+" is "+age+" years old.");
  1130. }
  1131. }
  1132. /*-------------------------------------------------------
  1133. 【程序填空】
  1134. ---------------------------------------------------------
  1135. 功能:创建一个人的类Student,属性包括姓名、年龄方法包括:构
  1136. 造方法(初始化一个人的姓名和年龄)、显示姓名和年龄的
  1137. 方法;创建一个学生类Prog1,是从Student类继承而来,他
  1138. 比Student类多了一个成员“所在学校”,方法包括:构造方法
  1139. (借助父类的方法对学生的三个属性进行初始化)、显示学生
  1140. 的三个属性方法;最后创建一个学生对象,并显示其自然信息。
  1141. -------------------------------------------------------*/
  1142. class Student
  1143. {
  1144. String name;
  1145. int age;
  1146. /*****************SPACE*****************/
  1147. Student(String n,int a)
  1148. {
  1149. name = n;
  1150. age = a;
  1151. }
  1152. public void print()
  1153. {
  1154. System.out.println(name+"的年龄是"+age);
  1155. }
  1156. }
  1157. /*****************SPACE*****************/
  1158. public class Prog1 extends Student
  1159. {
  1160. String school;
  1161. /*****************SPACE*****************/
  1162. Prog1(String n,int a,String s)
  1163. {
  1164. super(n,a);
  1165. school=s;
  1166. }
  1167. /*****************SPACE*****************/
  1168. public void print()
  1169. {
  1170. System.out.println(name+"的年龄是"+age+",学校是"+school);
  1171. }
  1172. public static void main(String args[])
  1173. {
  1174. Prog1 stu = new Prog1("陈小瑞",19,"清华大学");
  1175. stu.print();
  1176. }
  1177. }
  1178. /*-------------------------------------------------------
  1179. 【程序填空】
  1180. ---------------------------------------------------------
  1181. 功能:定义一个学生类Prog1,属性包括:姓名、性别、年龄、联
  1182. 系电话等;方法包括:构造方法(完成各属性的初始化)、
  1183. 取得年龄方法、取得性别方法、取得联系电话方法、以
  1184. “××的电话为××”形式作为返回值的方法。
  1185. -------------------------------------------------------*/
  1186. public class Prog1
  1187. {
  1188. long id;
  1189. String name;
  1190. int age;
  1191. /*****************SPACE*****************/
  1192. boolean sex;
  1193. long phone;
  1194. /*****************SPACE*****************/
  1195. Prog1( long i , String n , int a , boolean s , long p )
  1196. {
  1197. id = i;
  1198. name = n;
  1199. age = a;
  1200. sex = s;
  1201. phone = p;
  1202. }
  1203. int getAge()
  1204. {
  1205. /*****************SPACE*****************/
  1206. return age;
  1207. }
  1208. boolean getSex()
  1209. {
  1210. return sex;
  1211. }
  1212. long getPhone()
  1213. {
  1214. return phone;
  1215. }
  1216. public String toString()
  1217. {
  1218. return name+"的电话为"+phone;
  1219. }
  1220. public static void main(String args[])
  1221. {
  1222. Prog1 stu=new Prog1(2003010101,"李利",18,true,2443322);
  1223. System.out.println(stu.name+"的年龄为"+stu.getAge());
  1224. if (stu.getSex())
  1225. System.out.println(stu.name+"的性别为男");
  1226. else
  1227. System.out.println(stu.name+"的性别为女");
  1228. /*******************SPACE*******************/
  1229. System.out.println("联系方式是:"+stu.toString());
  1230. }
  1231. }
  1232. /*-------------------------------------------------------
  1233. 【程序填空】
  1234. ---------------------------------------------------------
  1235. 本题的功能是利用FileInputStream 和FileOutputStream实现文件复制。
  1236. -------------------------------------------------------*/
  1237. import java.io.*;
  1238. public class PrimeDemo{
  1239. public static void main(String[] args) throws IOException {
  1240. /*******************SPACE*******************/
  1241. File infile=new File("infile.txt") ; //创建文件名为infile.txt的文件对象
  1242. File outfile=new File("outfile.txt");
  1243. FileInputStream in=new FileInputStream("infile.txt");
  1244. /*******************SPACE*******************/
  1245. FileOutputStream out= new FileOutputStream("outfile.txt");//创建outfile.txt文件的输出字节流
  1246. while((c=in.read())!=-1){
  1247. /*******************SPACE*******************/
  1248. out.write(c) ; //将从infile.txt文件读出内容向outfile.txt文件中写数据
  1249. }
  1250. in.close();
  1251. /*******************SPACE*******************/
  1252. out.close() ; //关闭输出流
  1253. }
  1254. }
  1255. /*-------------------------------------------------------
  1256. 【程序填空】
  1257. ---------------------------------------------------------
  1258. 本题目是一个内部类与外部类的程序,外部类为 OuterClass,内部类为InnerClass。
  1259. -------------------------------------------------------*/
  1260. class OuterClass{
  1261. private int index=10;
  1262. class InnerClass {
  1263. private int index=10;
  1264. void print(){
  1265. int index=30;
  1266. System.out.println(this);
  1267. System.out.println(OuterClass.this);
  1268. System.out.println(index);
  1269. System.out.println(this.index);
  1270. }
  1271. }
  1272. void print(){
  1273. /*******************SPACE*******************/
  1274. InnerClass inner= new InnerClass() ; //得到内部类的引用
  1275. inner.print();
  1276. }
  1277. }
  1278. public class Prog1{
  1279. public static void main(String[] args) {
  1280. /*******************SPACE*******************/
  1281. OuterClass outer =new OuterClass() ; //定义外部类对象
  1282. /*******************SPACE*******************/
  1283. OuterClass.InnerClass inner= outer.new InnerClass() ; //定义内部类的对象
  1284. inner.print();
  1285. }
  1286. }
  1287. /*-------------------------------------------------------
  1288. 【程序填空】
  1289. ---------------------------------------------------------
  1290. 本题目的功能是使用String类中indexOf、substring和lastIndexOf方法实现对字符串的查找和获取子串。
  1291. -------------------------------------------------------*/
  1292. public class StringDemo {
  1293. public static void main(String[] args) {
  1294. String str="I like java programming";
  1295. /*******************SPACE*******************/
  1296. int position1= str.indexOf('j'); //此处要获取第一个字符"j"的位置
  1297. String s1=str.substring(position1);
  1298. /*******************SPACE*******************/
  1299. String s2= str.substring(position1,position1+4) ; //此处要获取字符串"java"
  1300. /*******************SPACE*******************/
  1301. int position2=str.lastIndexOf('p') ; //此处要获取从字符串右侧开始第一个"p "的位置
  1302. /*******************SPACE*******************/
  1303. String s3=str.substring( position2 ); //此处要获取字符串" programming "
  1304. System.out.println("s1="+s1+" s2="+s2+" s3="+s3);
  1305. }
  1306. }
  1307. /*-------------------------------------------------------
  1308. 【程序填空】
  1309. ---------------------------------------------------------
  1310. 本题目的功能是利用BufferedReader、InputStreamReader 和System.in实现从键盘读入数据并输出到屏幕上。
  1311. -------------------------------------------------------*/
  1312. import java.io.*;
  1313. public class Prog1{
  1314. public static void main(String[] args) throws IOException {
  1315. System.out.println("input:");
  1316. /*******************SPACE*******************/
  1317. BufferedReader in = new BufferedReader(new InputStreamReader( System.in )); //针对键盘建立输入流
  1318. /*******************SPACE*******************/
  1319. String s = in.readLine() ; //从键盘读入一行数据
  1320. System.out.println("output:" + s);
  1321. in.close();
  1322. }
  1323. }
  1324. /*-------------------------------------------------------
  1325. 【程序填空】
  1326. ---------------------------------------------------------
  1327. 本程序是一个猜数游戏的程序。
  1328. -------------------------------------------------------*/
  1329. import javax.swing.JOptionPane;
  1330. public class Prog1{
  1331. public static void main(String[] args) {
  1332. System.out.println("设有一个1~100的整数,试着猜这个数");
  1333. /*******************SPACE*******************/
  1334. int number=(int)Math.random()*100+1; ; //此处使用Math.random()方法产生1-100之间整数
  1335. int yourGuess=0;
  1336. String str=JOptionPane.showInputDialog("输入猜的数");
  1337. yourGuess=Integer.parseInt(str);
  1338. /*******************SPACE*******************/
  1339. while ( yourGuess!=number ) //循环条件
  1340. /*******************SPACE*******************/
  1341. if ( yourGuess>number ) { //条件代码
  1342. str=JOptionPane.showInputDialog("猜大了,再来一次");
  1343. yourGuess=Integer.parseInt(str);
  1344. }
  1345. else if(yourGuess<number) { //条件代码
  1346. str=JOptionPane.showInputDialog("猜小了,再来一次");
  1347. /*******************SPACE*******************/
  1348. yourGuess= Integer.parseInt(str) ; //将字符串转换为整数
  1349. }
  1350. System.out.println("猜对了!");
  1351. }
  1352. }