return 28;} }
public static void main (String args[]) {Prog1 d = new Prog1(29, 2, 1964); System.out.print(\当前的日期(dd / mm / yy):\ d.printDate(); System.out.print(\第二天的日期(dd / mm / yy): \ /*****************SPACE*****************/ d. printDate(); tomorrow() }} 40、功能:按注释提示完成文件复制的程序 //FileStream源代码如下: import java.io.*; class FileStream {
public static void main(String args []) { try {
File inFile = new File(\指定源文件 File outFile=new File(\定目标文件 /*******************SPACE*******************/
FileInputStream fis = new FileInputStream(inFile);
FileOutputStream fos = new FileOutputStream(outFile); int c; while ((c = fis.read ())!=-1)
/*******************SPACE*******************/ fos.write(c);
fis.close(); fos.close(); }
catch (Exception e) {
System.out.println(\41、功能:按如下要求定义两个类A和B, 类A中定义一个int 类型属 性x(将其赋值为8)和一个在命令行下输出x值的方法
myPrint()。类B是类A的子类,其中也定义一个int 类型 属性y(将其赋值为16)和String类型的属性s(将其赋值 为\);一个在命令行下输出y和s值的方法
myPrint();类B中还有一个方法printAll( ),该方法中分 别调用父类和子类的myPrint()方法。编写Application,创 建类类B的对象b,调用printAll( )方法,输出结果 public class Prog1
{public static void main(String args[]) {
/**********************SPACE**********************/ b=new B();
b.printAll( );}} class A {int x=8;
public void myPrint()
26
{ System.out.println( \
/**********************SPACE**********************/ class B ,extends A {int y=16;
/**********************SPACE**********************/ String s=\ public void myPrint()
{ System.out.println(\ System.out.println(\ void printAll() {
/**********************SPACE**********************/ super.myPrint(); myPrint(); }}
42、功能:编写Application,求从命令行传入任意多个整数的最大值 import java.io.*; public class Prog1
{public static void main (String[] args) {int n=args.length; if(n==0)
System.out.println(\ else {
/**********************SPACE**********************/ int x[]=new int [n];
for(int i=0;i
/**********************SPACE**********************/ x[i]= integer.parseInt(args[i]);
System.out.println(\ static int ArrayMax( int array[] ) {int max = array[0];
/**********************SPACE**********************/ for( int i =1; i
if ( array[i] > max ) max = array[i];}
/**********************SPACE**********************/ return max;}}
三、程序改错
1、题目:输出1到100之间的所有完全数。(完全数是其所有因子( 包括1但不包括该数本身)的和值等于该数自身的数)
27
public class Prog1
{public static void main(String args[]) {
/*****************FOUND*****************/ int n,sum;
for (n=1;n<=100;n++) {
/*****************FOUND*****************/ sum=0;
for(int k=1;k /*****************FOUND*****************/ if(n%k==0) sum+=k; } /*****************FOUND*****************/ if(sum==n) System.out.print(n+\ }}} 2、题目:求自然数1至100之间各奇数平方和并输出 public class Prog1 { public static void main(String args[]) { /***********FOUND***********/ int i,j,s; s=0; /***********FOUND***********/ i=1; while(i<100) { /***********FOUND***********/ if(i%2!=0) s=s+i; i=i+2; } /***********FOUND***********/ System.out.println(\和值是:\s); }} 3、题目:求1!+2!+3!+...+10! public class Prog1 { public static void main(String args[]) { /*****************FOUND*****************/ int i=1; /*****************FOUND*****************/ doublesum=0,fact=1; /*****************FOUND*****************/ while(i<=10); {fact=fact*i; sum=sum+fact; i++; /*****************FOUND*****************/ end while } System.out.println(\和值是 \ 28 4、题目:从键盘上输入一个自然数m,将m的立方表示成m个连续的奇 数之和。提示:其中最大的奇数为m×(m+1)-1 import java.io.*; public class Prog1 {public static void main(String args[]) throws IOException {int m,t,p,s; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.print(\请输入一个自然数:\ m=Integer.parseInt(buf.readLine()); /***********FOUND***********/ s=0; p=m*(m+1)-1; System.out.print(m+\ /***********FOUND***********/ t=m; do{ /***********FOUND***********/ s=s+p; t--; p=p-2; System.out.print(\ /***********FOUND***********/ }while(t!=0); System.out.println(\ 5、题目:某学校1990年在校生人数为2700,计划年增长率为10%。试计' 算出1991~2000年每年在校生人数 /***********FOUND***********/ public class Prog1 { public static void main(String args[]) { int i; /***********FOUND***********/ int double=2700,v=0.1; /***********FOUND***********/ for (i=1991;i<=2000;i++) { /***********FOUND***********/ n=n*(1+v); System.out.println(i+\ 年在校生人数为 \6、题目:从键盘上输入一个正整数,计算该数的各位数字之和 import java.io.*; /***********FOUND***********/ public class Prog1 { public static void main(String args[]) throws IOException {int m,s; 29 BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.print(\请输入一个自然数:\ m=Integer.parseInt(buf.readLine()); /***********FOUND***********/ s=0; while(m!=0) { /***********FOUND***********/ s=s+m; /***********FOUND***********/ m=m/10; } System.out.print(\其各位数字之和为:\ }} 7、题目:判断键盘上输入的年份是否为闰年(闰年是指能被400整除的年份或是能被100整除但不能被4整除的年份) import java.io.*; /***********FOUND***********/ public class Prog1 { public static void main(String args[]) throws IOException { int year; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.print(\请输入预判断的年份:\ /***********FOUND***********/ year=Integer.parseInt(buf.readLine()); /***********FOUND***********/ if( (year@0==0)||(year0!=0)&&(year%4==0)) System.out.println(year+\年是闰年。\ /***********FOUND***********/ end if System.out.println(year+\年不是闰年。\ 8、题目:水仙花是指其各位、十位和百位的立方和等于这个三位数本 身的数,求出所有的水仙花数 public class Prog1 {/***********FOUND***********/ public static void main (String args[]) { int n,i,j,k; /***********FOUND***********/ for(n=100;n<1000;n++){ /***********FOUND***********/ i=n; j=n/10; k=n/100; /***********FOUND***********/ if (n==i*i*i+j*j*j+k*k*k) 30