浙大JAVA 实验题答案09answer
09年java考试题目及参考答案
一、1、编译和运行下面的应用程序,屏幕输出的结果是( C )。
public class Test {public static void main(String args[]) {A a=new A("aaaaa");A.B b=a.new B();System.out.println(a.outStr+b.inStr);}}class A {String outStr;public A(String s) {outStr=s;}public class B {public String inStr="bbbbb";}}A) aaaaa B)ababa C) aaaaabbbbb D) bbbbb2、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是(A )。
A) InterruptedException B) RuntimeExceptionC) IOException D) ClassNotFoundException3、以下是应用程序中定义的静态方法printBinary,若在其main方法中有方法调用语句printBinary(2),则输出的结果是( D )。
static void printBinary(int i) {System.out.print(i + "的2进制数表示为:\t");for(int j = 31; j >=0; j--)if(((1 << j) & i) != 0)System.out.print("1");elseSystem.out.print("0");System.out.println();//换行}A) 00000000000000000000000000000001B) 00000000000000000000000000000000C) 00000000000000000000000000001111D) 000000000000000000000000000000104、下面语句的功能是( C )。
浙大JAVA实验题答案
实验8 Method的使用1.程序填空题,不要改变与输入输出有关的语句;50001输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入1 个正整数n,计算 s 的前n项的和保留 4 位小数;s = 1 + 1/2 +....+ 1/n要求定义并调用函数factn计算n的阶乘;例:括号内是说明输入:2 repeat=22 n=210 n=10输出:public class Test50001 {public static void mainString args {int ri,repeat;int i,n;double s;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{n=;/-----------/s=0;for i=1;i<=n;i++s+=fact i;}}/---------------/static double fact int n {int i;double f=1;for i=1;i<=n;i++f=i;return f;}}50002输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aa…an个a之和;要求定义并调用函数fna,n,它的功能是返回aa…an个a;例如,fn3,2的返回值是33;例:括号内是说明输入2 repeat=22 3 a=2, n=38 5 a=8, n=5输出246 2+22+22298760 8+88+888+8888+88888imponner;public class Test50002{public static void mainString args{int ri, repeat;int i, n,a;long sn;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{a=;n=;/------------/sn=0;for i=1;i<=n;i++sn+=fn a,i;}}/------------/s tatic int fn int a,int n{int s=0;forint i=1;i<=n;i++s=s10+a;return s;}}50003输入一个正整数repeat 0<repeat<10,做repeat次下列运算:读入1 个整数,统计并输出该数中2的个数;要求定义并调用函数countdigitnumber,digit,它的功能是统计整数number中数字digit的个数;例如,countdigit10090,0的返回值是3;例:括号内是说明输入:3 repeat=3-219022345543输出:count=2 -21902中有2个2count=1 有1个2count=0 345543中没有2public class Test50003{public static void mainString args{int ri, repeat;int count;long n;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{n=;/---------/n=n;count=countdigit n,2;}}/------------/static int countdigit long number,int digit{....要求定义并调用函数fibn,它的功能是返回第n项Fibonacci数;例如,fib7的返回值是13;例:括号内是说明输入:3 repeat=31 10 m=1, n=1020 100 m=20, n=1001000 6000 m=1000, n=6000输出:1 123 5 8 1到10之间的Fibonacci数21 34 55 89 20到100之间的Fibonacci数1597 2584 4181 1000到6000之间的Fibonacci数public class Test50006{public static void mainString args{int ri,repeat;int i, m, n;long f;Scanner in=new Scanner;repeat=;forri=1; ri<=repeat; ri++{m=;n=;/---------/i=1;f=1;while f<=n{if f>=m " ";i++;f=fib i;}}}/------------/sta ti c long fib int n{ //返回第n项Fibonacci数int i;long a=1,b=1,f=1;for i=3;i<=n;i++{ //从第3项开始计算f=a+b;a=b;b=f;}return f;}}50007输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2 个正整数m和n1<=m,n<=10000,输出m 到n之间的所有完数完数就是因子和与它本身相等的数;要求定义并调用函数factorsumnumber,它的功能是返回number的因子和;例如,factorsum12的返回值是161+2+3+4+6;例:括号内是说明输入:2 repeat=220 500 m=100, n=4001 100 m=1, n=100输出:28 4961 6 28public class Test50007{public static void mainString args{int ri,repeat;int i, m, n;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{m=;n=;/---------/for i=m;i<=n;i++if i==factorsum i" ";}}/---------/static int factorsum int number{ //返回number的因子和int sum=0;if number==1sum=1;forint i=1;i<=number-1;i++if number%i==0sum+=i;return sum;}}50008输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入2 个正整数m和n1<=m,n<=1000,输出m 到n之间的所有满足各位数字的立方和等于它本身的数;要求定义并调用函数isnumber判断number的各位数字之立方和是否等于它本身;例:括号内是说明输入:2 repeat=2100 400 m=100, n=4001 100 m=1, n=100输出:153 370 371 111+555+333=153; 333+777=370; 333+777+111=3711public class Test50008{public static void mainString args{int ri,repeat;int i, m, n;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{m=;n=;/---------/for i=m;i<=n;i++if is i" ";}}/---------///判断number的各位数字之立方和是否等于它本身static boolean is int number{int sum=0,n,digit;n=number;while n>0{digit=n%10;n=n/10;sum+=digitdigitdigit;}if number==sum return true;else return false;}}50009输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入一个整数,将它逆序输出;要求定义并调用函数reversenumber,它的功能是返回number的逆序数;例如reverse12345的返回值是54321;例:括号内是说明输入4 repeat=4123456 -100 -2 99输出654321-1-299public class Test50009{public static void mainString args{int ri,repeat;long n, res;Scanner in=new Scanner;repeat=;forri=1;ri<=repeat;ri++{n=;/---------/res=reverse n;}}/---------/static long reverse long number{//返回number的逆序数int flag=1;long a=0,digit;if number<0{flag=-1;number=-number;}while number>0{digit=number%10; //分离出个位数字a=a10+digit; //形成当前的逆序数number=number/10;}return flaga;}}50011输入一个正整数repeat 0<repeat<10,做repeat次下列运算:输入三个整数a、b和c,输出其中较大的数;要求定义和调用函数maxa, b, c找出a、b中较大的数,函数形参a、b和c的类型是int;输入输出示例:括号内是说明输入3 repeat=3输入:5 8 9 a=5, b=8-1 -10 -5 a=-1, b=-101 1 1 a=1, b=1输出:max5,8,9=9max-1,-10,-5=-1max1,1,1=1public class Test50011 {public static void mainString args {int ri, repeat;int a,b,c,maximun;Scanner in = new Scanner;repeat = ;for ri = 1; ri <= repeat; ri++ {a = ;b = ;c=;/-----------------/maximun=maximuna,b,c;Sy}}/-------------------/static int maximunint a,int b,int c{int max=a;ifmax<bmax=b;ifmax<cmax=c;return max;}}。
浙江大学期末考试必考题及参考答案
浙江大学期末考试及参考答案《Java语言程序设计》期末试卷(试卷总分:100分,考试时间:120分钟,答案写在答卷纸上)一.判断题(每题1分,共10分)1.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。
()2.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
()3.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
()4.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。
()5.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。
()6.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。
()7.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。
()8.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。
()9.静态初始化器是在其所属的类加载内存时由系统自动调用执行。
()10.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
()二.单项选择题(每题2分,共40分)1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?()A、 String argsB、String ar[]C、Char argD、StringBuffer args[] 2.以下关于继承的叙述正确的是()。
A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承3.paint()方法使用哪种类型的参数? ()A、GraphicsB、Graphics2DC、StringD、Color4.以下哪个不是Java的原始数据类型()A、intB、BooleanC、floatD、char5.以下哪项可能包含菜单条()。
浙大java练习题答案
40001import class Test40001 {public static void main(String[] args) { int ri, repeat;int i, n;float sum;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){n=();/*--------------------*/}}}40002import class Test40002 {public static void main(String[] args) { int ri, repeat;int i, n;double fact;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){n=();/*--------------------*/}}}40003import class Test40003 {int ri, repeat;int i, n;double x, mypow;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){x=();n=();/*--------------------*/}}}40004import class Test40004 {int ri, repeat;int i, n, flag;float sum;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){n=();/*--------------------*/}}}40005import class Test40005 {public static void main(String[] args) {int ri, repeat;int i, n, temp;float sum;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){n=();/*--------------------*/sum=0;for(i=1;i<=n;i++){sum=(float) (sum+(2*i-1));}}}}40006import class Test40006 {public static void main(String[] args) { int ri, repeat;int temp, flag;double eps, item, sum;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){eps=();/*--------------------*/}}}40007import class Test40007 {public static void main(String[] args){ int ri, repeat;int begin, c, end, f;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){begin=();end=();"Celsius Fahrenheit");/*--------------------*/" "+f);}}}}40008import class Test40008 {public static void main(String[] args){ int ri, repeat;int x, sum;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){x=();/*--------------------*/}}}}40009import class Test40009 {public static void main(String[] args){ int ri, repeat;int i , max, n, x;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){n=();/*--------------------*/}}}}40010import class Test40010 {public static void main(String[] args){int ri, repeat;int number, sum,n,r;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){n=();/*--------------------*/"number="+number+", sum="+sum);}}}40011import class Test40011 {public static void main(String[] args) { int ri, repeat;int i,n;float a,b,s,t;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){n=();/*--------------------*/}}}40012import class Test40012{public static void main(String args[]){int i, n, a, sn, tn;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){a=();n=();/*--------------------*/}}}40013import class Test40013{public static void main(String args[]){ int ri, repeat;boolean flag=true;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){m=();/*--------------------*/}if(flag) "YES");else"NO");}}}40014import .*;public class Test40014 {public static void main(String []args){Scanner in =new Scanner;int gcd, lcm, m, n,r;int repeat, ri;repeat=();for(ri = 1; ri <= repeat; ri++){m=();n=();if(m <= 0 || n <= 0)"m <= 0 or n <= 0");else{/*---------*/"the least common multiple:"+lcm+", the greatest common divisor:"+gcd);}}}}40021import class Test40021{public static void main(String args[]){ int ri, repeat;int i,n;float s,t;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){n=();/*--------------------*/}}}40022import class Test40022{public static void main(String args[]){ int ri, repeat;int i, digit, m, n, number, sum;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){m=();n=();/*------------------*/}}40023import class Test40023{public static void main(String args[]){int ri, repeat;int count, i, j, k, m, n, sum;Scanner in=new Scanner;repeat=();for(ri=1; ri<=repeat; ri++){m=();n=();/*---------------------*/"count="+count+", sum="+sum);}}40031import class Test40031{public static void main(String []args ){ int ri, repeat,count, word,i;String line;char c;Scanner in=new Scanner;repeat=()).charAt(0)-'0'; harAt(0);/*---------*/}}}40034import class Test40034{public static void main(String []args){ int year,m,n,repeat,ri;Scanner in=new Scanner;repeat=();for(ri=1;ri<=repeat;ri++){m=();n=();/*---------*/}}}40035import class Test40035{public static void main(String []args){ int m,n,repeat,ri;Scanner in=new Scanner;repeat=();for(ri=1;ri<=repeat;ri++){n=();m=();/*---------*/}}}40036import class Test40036{public static void main(String []args){ int days,repeat,ri;Scanner in=new Scanner;repeat=();for(ri=1;ri<=repeat;ri++){}}}40037import class Test40037{public static void main(String []args){ int a,n,ri,count,number;double sum,ave;Scanner in=new Scanner;n=();for(ri=1;ri<=n;ri++){/。
java 课后答案09reviewStringTextIO
Chapter 9 Strings and Text I/O1.s1 == s2 => trues2 == s3 => falses1.equals(s2) => trues2.equals(s3) => truepareTo(s2) => 0pareTo(s3) => 0s1 == s4 => trues1.charAt(0) => Ws1.indexOf('j') => -1s1.indexOf("to") => 8stIndexOf('a') => 14stIndexOf("o", 15) => 9s1.length() => 16s1.substring(5) => me to Java!s1.substring(5, 11) => me tos1.startsWith("Wel") => trues1.endsWith("Java") => trues1.toLowerCase() => welcome to java!s1.toUpperCase()=> WELCOME TO JAVA!" Welcome ".trim() => Welcomes1.replace('o', 'T') => WelcTme tT Java!s1.replaceAll("o", "T") => WelcTme tT Java!s1.replaceFirst("o", "T") => WelcTme tT Java!s1.toCharArray() returns an array of characters consisting of W, e, l, c, o, m, e, , t, o, , J, a, v, a (Note that none of the operation causes the contents of a string to change)2.String s = new String("new string");Answer: CorrectString s3 = s1 + s2;Answer: CorrectString s3 = s1 - s2;Answer: Incorrects1 == s2Answer: Corrects1 >= s2Answer: IncorrectpareTo(s2);Answer: Correctint i = s1.length();Answer: Correctchar c = s1(0);Answer: Incorrectchar c = s1.charAt(s1.length());Answer: Incorrect : it's out of bounds, even if the preceding problem is fixed.3.The output isWelcome to JavaWelcabcme tabc JavaHint: No method in the String class can change the content of the string. String is an immutable class.4.∙Check whether s1 is equal to s2 and assign the result to a Boolean variable isEqual.boolean isEqual = s1.equals(s2);∙Check whether s1 is equal to s2 ignoring case and assign the result to a Boolean variable isEqual.boolean isEqual = s1.equalsIgnoreCase(s2);∙Compare s1 with s2 and assign the result to an int variable x.int x = pareTo(s2);∙Compare s1 with s2 ignoring case and assign the result to an int variable x.int x = pareToIgnoreCase(s2);∙Check whether s1 has prefix "AAA" and assign the result to a Boolean variable b.boolean b = s1.startsWith("AAA");∙Check whether s1 has suffix "AAA" and assign the result to a Boolean variable b.boolean b = s1.endsWith("AAA");∙Assign the length of s1 to an int variable x.int x = s1.length();∙Assign the first character of s1 to a char variable x. char x = s1.charAt(0);∙Create a new string s3 that combines s1 with s2.String s3 = s1 + s2;∙Create a substring of s1 starting from index 1.String s3 = s1.substring(1);∙Create a substring of s1 from index 1 to index 4.String s3 = s1.substring(1, 5);∙Create a new string s3 that converts s1 to lowercase. String s3 = s1.lowercase();∙Create a new string s3 that converts s1 to uppercase. String s3 = s1.uppercase();∙Create a new string s3 that trims blank spaces on both ends of s1.String s3 = s1.trim();∙Replace all occurrence of character e with E in s1 and assign the new string to s3.String s3 = s1.replaceAll(…e‟, …E‟);∙Split "Welcome to Java and HTML" into an array tokens using delimited by a space.String[] tokens = "Welcome to Java and HTML".split(… …);∙Assign the index of the first occurrence of character e in s1 to an int variable x.int x = s1.indexOf(…e…);∙Assign the index of the last occurrence of string abc in s1 to an int variable x.int x = stIndexOf(“abc”);5.No.6.0.e the overloaded static valueOf method in the String class.8.The text is declared in Line 2 as a data field, but redeclared in Line 5 as a localvariable. The local variable is assigned with the string passed to the constructor,but the data field is still null. In Line 10, test.text is null, which causesNullPointerException when invoking the toLowerCase() method.9.The constructor is declared incorrectly. It should not have void.10. A lowercase letter is between ‘a’ and ‘z’. You can use the staticisLowerCase(char) method in the Character class to test if a character is inlowercase. An uppercase letter is between ‘A’ and ‘Z’. You can use the staticisUpperCase(char) method in the Character class to test if a character is inuppercase.11.An alphanumeric character is between ‘0’ and ‘9’, or ‘A’ and ‘Z’, or ‘a’ and ‘z’.You can use the static isLetterOrDigit(char ch) method in the Character class totest if a character is a digit or a letter.12.The StringBuilder class, introduced in JDK 1.5, is similar to StringBuffer exceptthat the update methods in StringBuffer are synchronized.e the StringBuilder’s constructor to create a string buffer for a string, and usethe toString method in StringBuilder class to return a string from a StringBuilder.14.StringBuilder sb = new StringBuilder(s);sb.reverse();s = sb.toString();15.StringBuilder sb = new StringBuilder(s);sb.delete(4, 10);s = sb.toString();16.Both string and string buffer use arrays to hold characters. The array in a string isfixed once a string is created. The array in a string buffer may change if the buffer capacity is changed. To accommodate the change, a new array is created.17.(1) Java is fun(2) JavaHTML(3) Jais funva(4) JHTMLava(5) v(6) 4(7) Jav(8) Ja(9) avaJ(10) JComputera(11) av(12) va18.The output isJavaJava and HTMLNOTE:Inside the method, the statement s = s + " and HTML" creates a new String objects, which is different from the original String object passed to the change(s, buffer)method. The original String object has not been changed. Therefore, the printoutfrom the original string is Java.Inside the method, the content of the StringBuilder object is changed to Java andHTML. Therefore, the printout from buffer is Java and HTML.19.public static void main(String[] args)can be replaced bypublic static void main(String args[])public static void main(String[] x)public static void main(String x[])but notstatic void main(String x[])because it is not public.20.(1)Number of strings is 4Ihaveadream(2)Number of strings is 11 2 3(3)Number of strings is 0(4)Number of strings is 1*(5)Number of strings is (the number of files and directory from where the commandis executed)Displays all files and directory names in the directory where the command isexecuted.21. The \ is a special character. It should be written as \\ in Java using the Escapesequence.e exists() in the File class to check whether a file exists. Use delete() in the Fileclass to delete this file. Use renameTo(File) to rename the name for this file. Youcannot find the file size using the File class.23.No. The File class can be used to obtain file properties and manipulate files, butcannot perform I/O.24.To create a PrintWriter for a file, use new PrintWriter(filename). This statementmay throw an exception. Java forces you to write the code to deal with exceptions.One way to deal with it is to declare throws Exception in the method declaration.If the close() method is not invoked, the data may not be saved properly.25.The contents of the file temp.txt is:amount is 32.320000 3.232000e+01amount is 32.3200 3.2320e+01falseJava26.To create a Scanner for a file, use new Scanner(new File(filename)). This statementmay throw an exception. Java forces you to write the code to deal with exceptions.One way to deal with it is to declare throws Exception in the method declaration.If the close() method is not invoked, the problem will run fine. But it is a goodpractice to close the file to release the resource on the file.27.If you attempt to create a Scanner for a nonexistent file, an exception will occur. Ifyou attempt to create a Formatter for an existing file, the contents of the existingfile will be gone.28.No. The line separator on Windows is \r\n.29.intValue contains 45. doubleValue contains 57.8, andline contains ' ', '7', '8', '9'.30.intValue contains 45. doubleValue contains 57.8, andline is empty.。
java习题及答案第9章 习题参考答案
第9章习题解答1.与输入/输出有关的流类有哪些?答:与输入/输出有关的流类主要有InputStream、OutputStream和Reader、Writer类及其子类。
除此以外,与流有关的类还有File类、FileDescriptor类、StreamTokenizer类和RandomAccessFile类。
2.字节流与字符流之间有哪些区别?答:字节流是面向字节的流,流中的数据以8位字节为单位进行读写,是抽象类InputStream和OutputStream的子类,通常用于读写二进制数据,如图像和声音。
字符流是面向字符的流,流中的数据以16位字符(Unicode字符)为单位进行读写,是抽象类Reader和Writer的子类,通常用于字符数据的处理。
3.什么是节点流?什么是处理流或过滤流?分别在什么场合使用?答:一个流有两个端点。
一个端点是程序;另一个端点可以是特定的外部设备(如键盘、显示器、已连接的网络等)和磁盘文件,甚至是一块内存区域(统称为节点),也可以是一个已存在流的目的端。
流的一端是程序,另一端是节点的流,称为节点流。
节点流是一种最基本的流。
以其它已经存在的流作为一个端点的流,称为处理流。
处理流又称过滤流,是对已存在的节点流或其它处理流的进一步处理。
对节点流中的数据只能按字节或字符读写。
当读写的数据不是单个字节或字符,而是一个数据块或字符串等时,就要使用处理流或过滤流。
4.标准流对象有哪些?它们是哪个类的对象?答:标准流对象有3个,它们是:System.in、System.out和System.err。
System.in 是InputStream类对象,System.out和System.err是PrintStream类对象。
5.顺序读写与随机读写的特点分别是什么?答:所谓顺序读写是指在读写流中的数据时只能按顺序进行。
换言之,在读取流中的第n个字节或字符时,必须已经读取了流中的前n-1个字节或字符;同样,在写入了流中n-1个字节或字符后,才能写入第n个字节或字符。
Java 综合实验及练习(参考答案)
Java实验综合实验及练习第一部分:编程题1、编写程序实现输入整数n,输出如下所示由数字组成的菱形。
(图中n=5)11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 112.给出年、月、日,计算该日是该年的第几天?3、利用求素数的方法,就6~2000000之间的所有偶数验证歌德巴赫猜想:任何一个大于6的偶数可以分解为两个素数之和。
4、现有15位选手参加比赛,有6个评委每个评委都要给每位选手打分,分数为60~100分,现需要定义二维数组存储选手成绩,每行存储一位选手打分情况,要求输出选手得分以及选手最后得分,以及选手名次。
评分规则:分数为60~100分。
选手最后得分为:去掉一个最高分和一个最低分后其余4个分数的平均值。
5、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供属性的set/get访问器方法和计算两点间距离的方法。
写一个程序测试这个类6、设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x 和y值的public方法。
设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。
7、编写一个完整的Java Application 程序。
包含接口Shape,MyRectangle类,MyTriangle 类及Test类,具体要求如下:⑴、接口Shape:double area():求一个形状的面积double perimeter ():求一个形状的周长⑵、类 MyRectangle :实现Shape 接口,并有以下属性和方法:① 属性width : double 类型,表示矩形的长height : double 类型,表示矩形的高② 方法MyRectangle(double w, double h):构造函数ToString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0,area=2.0”⑶、类MyTriangle :实现Shape 接口,并有以下属性和方法:① 属性x,y,z: double 型,表示三角形的三条边s: 周长的1/2(注:求三角形面积公式为))()((z s y s x s s ---,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法)② 方法MyTriangle(double x, double y, double z):构造函数,给三条边和s 赋初值。
JAVA实验7-9+答案
实验71. 编一个程序,包含以下文件。
(1)Shape.java文件,在该文件中定义接口Shape,该接口在shape 包中。
属性:PI。
方法:求面积的方法area()。
(2)Circle.java文件,在该文件中定义圆类Circle,该类在circle包中,实现Shape接口。
属性:圆半径radius。
perimeter()。
(3)“Cylinder,该area();求体积方法volume()。
文件,在该文件中定义主类X5_3_6,该类在默认包中,其中包含主方法main(),在主方法中创建两个圆类对象cir1和cir2,具体尺寸自己确定,并显示圆的面积和周长;再创建两个圆柱体类的对象cy1和cy2,具体尺寸自己确定,然后分别显示圆柱体cy1和cy2的底圆的面积和周长以及它们各自的体积和表面积。
【编程分析】本题主要考察接口、包、继承、封装等问题。
编程步骤如下:第一步:首先创建p1包,在其中创建Shape接口// Shape.java文件package p1; // 创建p1包public interface Shape{ // 定义Shape接口…}第二步:创建Circle类和Cylinder类,它们都定义在p2包中。
// Circle.java文件package p2; // 创建p2包的文件public class Cylinder extends Circle{ // 创建继承Circle类的Cylinder类…}第三步:创建主类,在其中的main()方法中创建对象,实现相应的功能。
// X5_3_6.java文件package p3;import p2.*;public class X5_3_6 { // 定义主类public static void main(String[] args) {…}}【参考程序】System.out.println("cir1.area: "+cir1.area());System.out.println("cir1.perimeter: "+cir1.perimeter());System.out.println("cir2.area: "+cir2.area());System.out.println("cir2.perimeter: "+cir2.perimeter());Cylinder cy1 = new Cylinder(27.3,32.7);Cylinder cy2 = new Cylinder(133.5,155.8);System.out.println("cy1.area: "+cy1.area());System.out.println("cy1.volume: "+cy1.volume());System.out.println("cy2.area: "+cy2.area());System.out.println("cy2.volume: "+cy2.volume());}}// Shape.java文件package p1; // 创建p1包public interface Shape{ // 定义Shape}// 定义实现Shape接口的Circle类double radius; // 半径public Circle(double r){radius = r;}public double area(){ // 实现Shape接口中的方法(这是必须的)return PI*radius*radius;}public double perimeter(){ // 定义求圆周长的方法return 2*PI*radius;}}// Cylinder.java文件package p2;public class Cylinder extends Circle{ // 创Cylinder类return 2*PI*radius*radius+2*PI*radius*height; }public double volume(){return PI*radius*radius*height;}}2)定义一个接口OneToN,在接口中包含一个抽象方法disp()。
浙江大学java上机参考答案48页word文档
一、求两个数的和与差。
程序填空,不要改变与输入输出有关的语句。
输入整数a和b,计算并输出a、b的和与差。
import java.io.*;import java.util.Scanner;public class Test20001{public static void main(String args[]){int a, b, sum, diff;Scanner in=new Scanner(System.in);a=in.nextInt();b=in.nextInt();sum=a+b;diff=a-b;System.out.println("The sum is "+sum);System.out.println("The difference is "+diff);二、求平方根。
程序填空,不要改变与输入输出有关的语句。
输入1个实数x,计算并输出其平方根。
例:输入1.21输出The square root of 1.21 is 1.1import java.io.*;import java.util.Scanner;public class Test20002{public static void main(String args[]){double x, root;Scanner in=new Scanner(System.in);x=in.nextDouble();r oot=Math.sqrt(x);System.out.println("The square root of "+x+" is "+root);三、华氏温度转换为摄氏温度。
程序填空,不要改变与输入输出有关的语句。
输入华氏温度f,计算并输出相应的摄氏温度c。
c = 5/9(f-32).例:括号内是说明:输入17.2 (华氏温度)输出The temprature is -8.222222222222223 import java.util.Scanner;public class Test20003 {public static void main(String[] args) {Scanner in=new Scanner(System.in);double f, c;f=in.nextDouble();c=5.0/9*(f-32);System.out.println("The temprature is "+c);四、计算旅途时间。
java复习指南09级含部分答案
}
//程序9
publicclassTextComponetEventextendsApplet
implementsTextListener,ActionListener{
TextFieldtf;
TextAreata;
publicvoidinit()
{
tf=newTextField(45);
ta=newTextArea(5,45);
}
class Override
{
public static void main(String args[])
{
OverrideDemo ob = new OverrideDemo();
ob.test();
ob.test(10);
ob.test(10,20);
ob.test(123.25);
}
}
//程序3
{System.out.print("Window("+marker+")");}
}
}
classHouse{
Windoww1=newWindow(1);
House(){
System.out.print("House()");
w3=newWindow(33);
}
Windoww2=newWindow(2);
}
public void paint(Graphics g){
g.setColor(Color.blue);
g.drawString("你点击了确定"+ i1+"次",20,100);
g.setColor(Color.red);
浙江大学Java语言程序设计实验答案全集
} }
System.out.println(" *");
-2-
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,通力根1保过据护管生高线产中敷工资设艺料技高试术中卷0资不配料仅置试可技卷以术要解是求决指,吊机对顶组电层在气配进设置行备不继进规电行范保空高护载中高与资中带料资负试料荷卷试下问卷高题总中2体2资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况1卷中下安,与全要过,加度并强工且看作尽护下可1都关能可于地以管缩正路小常高故工中障作资高;料中对试资于卷料继连试电接卷保管破护口坏进处范行理围整高,核中或对资者定料对值试某,卷些审弯异核扁常与度高校固中对定资图盒料纸位试,置卷编.工保写况护复进层杂行防设自腐备动跨与处接装理地置,线高尤弯中其曲资要半料避径试免标卷错高调误等试高,方中要案资求,料技编试术写5、卷交重电保底要气护。设设装管备备置线4高、调动敷中电试作设资气高,技料课中并3术试、件资且中卷管中料拒包试路调试绝含验敷试卷动线方设技作槽案技术,、以术来管及避架系免等统不多启必项动要方高式案中,;资为对料解整试决套卷高启突中动然语过停文程机电中。气高因课中此件资,中料电管试力壁卷高薄电中、气资接设料口备试不进卷严行保等调护问试装题工置,作调合并试理且技利进术用行,管过要线关求敷运电设行力技高保术中护。资装线料置缆试做敷卷到设技准原术确则指灵:导活在。。分对对线于于盒调差处试动,过保当程护不中装同高置电中高压资中回料资路试料交卷试叉技卷时术调,问试应题技采,术用作是金为指属调发隔试电板人机进员一行,变隔需压开要器处在组理事在;前发同掌生一握内线图部槽 纸故内资障,料时强、,电设需回备要路制进须造行同厂外时家部切出电断具源习高高题中中电资资源料料,试试线卷卷缆试切敷验除设报从完告而毕与采,相用要关高进技中行术资检资料查料试和,卷检并主测且要处了保理解护。现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
JAVA实验答案全
"班号:" +this.get_classNum()+"\n"+ "姓名:" +this.get_name()+"\n"+ "性别:" +this.get_sex()+"\n"+ "年龄:" +this.get_age()+"\n"; return str; /*System.out.println("学号:" +this.get_stuNum()); System.out.println("班号:" +this.get_classNum()); System.out.println("姓名:" +this.get_name()); System.out.println("性别:" +this.get_sex()); System.out.println("年龄:" +this.get_age()); */ }
浙大java语言程序设计编程答案
实验9-1 Method 的使用(二)1. 将一个整数逆序输出输入一个正整数repeat (0<repeat<10) ,做repeat 次下列运算:输入一个整数,将它逆序输出。
要求定义并调用函数reverse(number) ,它的功能是返回number 的逆序数。
例如reverse(12345) 的返回值是54321。
例:括号内是说明输入4 (repeat=4)123456 -100 -2 99 输出654321-1-299import class Test50009{public static void main(String args[]){ int ri,repeat; long n, res;Scanner in=new Scanner; repeat=(); for(ri=1;ri<=repeat;ri++){ n=();res=reverse(n);}}static long reverse(long number){int flag=1;long a=0,digit; if(number<0){ flag=-1; number=-number;} while(number>0){ digit=number%10; // 分离出个位数字a=a*10+digit; // 形成当前的逆序数number=number/10;}return flag*a;2. 十进制转换二进制输入一个正整数repeat (0<repeat<10) ,做repeat 次下列运算:输入1个正整数n,将其转换为二进制后输出。
要求定义并调用函数dectobin(n) ,它的功能是输出n 的二进制。
例如,调用dectobin(10) ,输出1010。
输出语句://t 为某位二进制数例:括号内是说明输入:3 (repeat=3)15100输出:11111100100import class Test50010{public static void main(String args[]){ int ri,repeat;int i,n;Scanner in=new Scanner; repeat=(); for(ri=1;ri<=repeat;ri++){ n=();dectobin(n);}}static void dectobin(int n){String t=""; // 保存二进制数do {t=n%2+t; //n 除2 后的余数拼接到t 的前面n=n/2; // 获得除2 后的商}while(n>0);// 本方法无返回值,需要在方法体中输出结果说明:本题中方法dectobin(n) 的输出虽然与要求有所出入,但上传是正确的3. 用函数求三个数的最大值输入一个正整数repeat (0<repeat<10) ,做repeat 次下列运算:输入三个整数a、b和c,输出其中较大的数。
浙大JAVA 实验题答案10answer
实验10 排序和二维数组的使用1.程序填空题,不要改变与输入输出有关的语句。
60005 排序输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数n,再输入n个整数,将它们从大到小排序后输出。
例:括号内是说明输入3 (repeat=3)4 5 1 7 63 1 2 35 5 4 3 2 1输出7 6 5 13 2 15 4 3 2 1import java.util.Scanner;public class Test60005{public static void main(String []args){int ri, repeat;int i, index, k, n, temp,a[];Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();a=new int[n];for(i=0; i<n; i++)a[i]=in.nextInt();/*---------*/for(i=0;i<n-1;i++) { //选择法递减排序index=i;for(k=i+1;k<n;k++){if(a[k]>a[index]) index=k; //找最大值的下标 }if(i!=index){temp=a[i];a[i]=a[index]; a[index]=temp;}}for(i=0; i<n; i++)System.out.print(a[i]+" ");System.out.println();}}}或:for(i=0;i<a.length-1;i++){ //冒泡法递减排序for(k=0;k<a.length-1-i;k++){if(a[k]<a[k+1]){temp=a[k];a[k]=a[k+1];a[k+1]=temp;}}}60011 矩阵运算输入一个正整数repeat (0<repeat<10),做repeat次下列运算:读入 1 个正整数n(1≤n≤6), 再读入 n 阶方阵 a , 计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和.(副对角线为从矩阵的右上角至左下角的连线)例:括号内是说明输入:1 (repeat=1)4 (n=4)2 3 4 15 6 1 17 1 8 11 1 1 1sum=35 (2+3+4+5+6+7+8=35)import java.util.Scanner;public class Test60011{public static void main(String []args){int ri, repeat;int a[][],i,j,n,sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();a=new int[n][n];for(i=0; i<n; i++)for(j=0;j<n;j++)a[i][j]=in.nextInt();/*---------*/sum=0;for(i=0; i<n-1; i++) //i<n-1 排除最后一行for(j=0;j<n-1;j++){ //j<n-1 排除最后一列if((i+j)!=(n-1)) sum+=a[i][j]; //非副对角线元素才加入}System.out.println("sum="+sum);}}}60012 加法口诀表输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入 1 个正整数n(1≤n≤10), 输出一张 20 以内的加法口诀表. 加数与被加数都不大于 n, 分列第一行和第一列.(将加数、被加数、和放入一个二维数组中, 再输出该数组)例:括号内是说明输入:1 (repeat=1)3 (n=3)输出:+ 1 2 31 22 3 43 4 5 6import java.util.Scanner;public class Test60012{public static void main(String []args){int ri, repeat;int i,j,n,a[][]=new int[10][10];Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*---------*/for(i=1;i<=n;i++) {//给第0行和第0列所有元素赋值,a[0][0]不用赋值a[0][i]=i;//第0行为被加数,从第1列开始赋值1,2,...,na[i][0]=i; //第0列为加数,从第1行元素开始赋值1,2,...,n}for(i=1;i<=n;i++)//计算和,从第1行第1列开始for(j=1;j<=i;j++){a[i][j]=i+j;//或a[i][j]=a[i][0]+a[0][j]; //所在行第0列元素+所在列第0行元素}for( i=0; i<=n; i++ ){for( j=0; j<=n; j++ )if(i==0&&j==0) System.out.print( "+ ");//在第0行第0列上输出"+ " else if(i==0||j<=i) System.out.print(a[i][j]+" ");//输出第0行和下三角阵各元素System.out.println();}}}}60013 判断上三角矩阵输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入1 个正整数n (1≤n≤6)和n 阶方阵a中的元素,如果a是上三角矩阵, 输出"YES", 否则, 输出"NO"。
浙江大学Java语言程序设计实验答案全集
Java答案全集实验汇总。
实验2 数据类型和变量的使用一、程序填空,在屏幕上显示一个短句“Programming in Java is fun!”import java.io.*;public class Test10001{public static void main(String args[]){/*------------------------*/}}二、程序填空,在屏幕上显示如下网格。
+---+---+| | || | |+---+---+import java.io.*;public class Test10002{public static void main(String args[]){/*------------------------*/}}三、编写程序,在屏幕上显示如下图案。
(要求:第1行行首无空格,每行行尾无空格)* * * ** * ** **public class Test10003{public static void main(String args[]){/*------------------------*/}}实验3 运算符和表达式的使用1、运行结果:m=2 k=1x=1.0 y=2.0 z=-3.0ch1=-A ch2=Ach1=-A ch2=aHello,Welcome to core Java!思考题:(1)字符'A'的Unicode码比字符'a'的Unicode码小32。
(2)假设字符型变量ch中保存一个大写字母,执行ch+=('a'-'A' );后,ch中是相应的小写字母。
例:若ch='B',执行后ch='b'。
2、运行结果:m=3 n=2. m大于n吗?truem=2 n=2. m大于n吗?falsestr1=Hello;str2=Hello!s1和s2相等吗?false思考题:(1)s2比s1多一个字符“!”,所以不相同。
浙大java练习题答案精编WORD版
浙大j a v a练习题答案精编W O R D版IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】40001import java.util.Scanner;public class Test40001 {public static void main(String[] args) {int ri, repeat;int i, n;float sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*--------------------*/System.out.println((int)(sum*1000+0.5)/1000.);}}}40002import java.util.Scanner;public class Test40002 {public static void main(String[] args) {int ri, repeat;int i, n;double fact;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*--------------------*/System.out.println(fact);}}}40003import java.util.Scanner;public class Test40003 {public static void main(String[] args) {int ri, repeat;int i, n;double x, mypow;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){x=in.nextDouble();n=in.nextInt();/*--------------------*/System.out.println(mypow);}}}40004import java.util.Scanner;public class Test40004 {public static void main(String[] args) {int ri, repeat;int i, n, flag;float sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*--------------------*/System.out.println((long)(sum*10000+0.5)/10000.);}}}40005import java.util.Scanner;public class Test40005 {public static void main(String[] args) {int ri, repeat;int i, n, temp;float sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*--------------------*/sum=0;for(i=1;i<=n;i++){sum=(float) (sum+1.0/(2*i-1));}System.out.println(sum);}}}40006import java.util.Scanner;public class Test40006 {public static void main(String[] args) {int ri, repeat;int temp, flag;double eps, item, sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){eps=in.nextDouble();/*--------------------*/System.out.println((int)(sum*10000+0.5)/10000.);}}}40007import java.util.Scanner;public class Test40007 {public static void main(String[] args){int ri, repeat;int begin, c, end, f;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){begin=in.nextInt();end=in.nextInt();System.out.println("Celsius Fahrenheit");/*--------------------*/System.out.println(c+" "+f);}}}}40008import java.util.Scanner;public class Test40008 {public static void main(String[] args){int ri, repeat;int x, sum;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){x=in.nextInt();/*--------------------*/}System.out.println(sum);}}}40009import java.util.Scanner;public class Test40009 {public static void main(String[] args){int ri, repeat;int i , max, n, x;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*--------------------*/}System.out.println(max);}}40010import java.util.Scanner;public class Test40010 {public static void main(String[] args){int ri, repeat;int number, sum,n,r;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*--------------------*/System.out.println("number="+number+", sum="+sum); }}40011import java.util.Scanner;public class Test40011 {public static void main(String[] args) {int ri, repeat;int i,n;float a,b,s,t;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*--------------------*/System.out.println((int)(s*10000+.5)/10000.); }}40012import java.util.Scanner;public class Test40012{public static void main(String args[]){int ri, repeat;int i, n, a, sn, tn;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){a=in.nextInt();n=in.nextInt();/*--------------------*/System.out.println(sn);}}40013import java.util.Scanner;public class Test40013{public static void main(String args[]){int ri, repeat;int i, m, n;boolean flag=true;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){m=in.nextInt();/*--------------------*/if(flag) System.out.println("YES");else System.out.println("NO");}}}40014import java.util.*;public class Test40014 {public static void main(String []args){Scanner in =new Scanner(System.in);int gcd, lcm, m, n,r;int repeat, ri;repeat=in.nextInt();for(ri = 1; ri <= repeat; ri++){m=in.nextInt();n=in.nextInt();if(m <= 0 || n <= 0)System.out.println("m <= 0 or n <= 0");else{/*---------*/System.out.println("the least common multiple:"+lcm+", the greatest common divisor:"+gcd);}}}}40021import java.util.Scanner;public class Test40021{public static void main(String args[]){int ri, repeat;int i,n;float s,t;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();/*--------------------*/System.out.println((int)(s*10000+0.5)/10000.); }}}40022import java.util.Scanner;public class Test40022{int ri, repeat;int i, digit, m, n, number, sum;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){m=in.nextInt();n=in.nextInt();/*------------------*/}}}40023import java.util.Scanner;public class Test40023{int ri, repeat;int count, i, j, k, m, n, sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){m=in.nextInt();n=in.nextInt();/*---------------------*/System.out.println("count="+count+", sum="+sum); }}}40031import java.util.Scanner;public class Test40031{public static void main(String []args ){int ri, repeat,count, word,i;String line;char c;Scanner in=new Scanner(System.in);repeat=(in.nextLine()).charAt(0)-'0'; //输入repeat for(ri=1; ri<=repeat; ri++){line=in.nextLine(); //输入一行字符/*---------*/System.out.println(count);}}}40032import java.util.Scanner;public class Test40032{public static void main(String []args ){int ri, repeat;int digit;long n, temp, pow;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextLong();/*---------*/System.out.println();}}}40033import java.util.Scanner;public class Test40033{public static void main(String args[]) {int ri, repeat;int op1, op2, res;char operator;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){op1=in.nextInt();operator =(in.next()).charAt(0);/*---------*/System.out.println(res);}}40034import java.util.Scanner;public class Test40034{public static void main(String []args){int year,m,n,repeat,ri;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri=1;ri<=repeat;ri++){m=in.nextInt();n=in.nextInt();/*---------*/}}40035import java.util.Scanner;public class Test40035{public static void main(String []args){int m,n,repeat,ri;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri=1;ri<=repeat;ri++){n=in.nextInt();m=in.nextInt();/*---------*/}}}40036import java.util.Scanner;public class Test40036{public static void main(String []args){int days,repeat,ri;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri=1;ri<=repeat;ri++){}}}40037import java.util.Scanner;public class Test40037{public static void main(String []args){int a,n,ri,count,number;double sum,ave;Scanner in=new Scanner(System.in);n=in.nextInt();for(ri=1;ri<=n;ri++){/。
JAVA实验7-9+答案
实验71. 编一个程序,包含以下文件。
(1)文件,在该文件中定义接口Shape,该接口在shape包中。
属性:PI。
方法:求面积的方法area()。
(2)文件,在该文件中定义圆类Circle,该类在circle包中,实现Shape接口。
属性:圆半径radius。
方法:构造方法;实现接口中求面积方法area();求周长方法perimeter()。
(3)“”文件,在该文件中定义圆柱体类Cylinder,该类口在cylinder包中,继承圆类。
属性:圆柱体高度height。
&方法:构造方法;求表面积方法area();求体积方法volume()。
(4)文件,在该文件中定义主类X5_3_6,该类在默认包中,其中包含主方法main(),在主方法中创建两个圆类对象cir1和cir2,具体尺寸自己确定,并显示圆的面积和周长;再创建两个圆柱体类的对象cy1和cy2,具体尺寸自己确定,然后分别显示圆柱体cy1和cy2的底圆的面积和周长以及它们各自的体积和表面积。
【编程分析】本题主要考察接口、包、继承、封装等问题。
编程步骤如下:第一步:首先创建p1包,在其中创建Shape接口;public class Circle implements Shape{ ;public class X5_3_6 { ;public class X5_3_6 { ;public class Circle implements Shape{ ;public class X7_3_2 {—public static void main(String[] args)throws IOException{InputStreamReader isr = new InputStreamReader;BufferedReader br = new BufferedReader(isr);int[] a = new int[5];int n = ());if(n>5) ;public class X7_3_3 {public static void main(String args[]) throws IOException{InputStreamReader isr = new InputStreamReader;BufferedReader br = new BufferedReader(isr);."请输入两个整数:");int a = ( ());int b = ( ());try{ ;public class X7_3_4 {public static void main(String args[]) throws IOException{InputStreamReader isr = new InputStreamReader;BufferedReader br = new BufferedReader(isr);"请输入两个整数:");int a = ( ());…int b = ( ());try{if(b==0)throw new ArithmeticException("抛出算术异常");}catch(ArithmeticException e){();"出现被0除的情况!");}int c[] ={1, 2, 3, 4}, sum = 0;)try{for(int i = 0; i<5; i++) {if(i >= 4)throw new ArrayIndexOutOfBoundsException("抛出数组下标越界异常");sum += c[i];" sum = " + sum);}}catch(ArrayIndexOutOfBoundsException e){();《"数组下标越界!");}}}5.自定义两个异常类NumberTooBigException和NumberTooSmallException,在其中定义各自的构造方法,分别打印输出“发生数字太大异常”和“发生数字太小异常”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验9-1 Method的使用(二)1.程序填空题,不要改变与输入输出有关的语句。
50010 十进制转换二进制输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:输入1 个正整数n,将其转换为二进制后输出。
要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。
例如,调用dectobin(10),输出1010。
输出语句:System.out.print(t); //t为某位二进制数例:括号内是说明输入:3 (repeat=3)15100输出:11111100100import java.util.Scanner;public class Test50010{public static void main(String args[]){int ri,repeat;int i,n;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1;ri<=repeat;ri++){n=in.nextInt();/*---------*/dectobin(n);System.out.println();}}/*---------*/static void dectobin(int n){String t=""; //保存二进制数do {t=n%2+t; //n除2后的余数拼接到t的前面n=n/2; //获得除2后的商}while(n>0);System.out.print(t); //本方法无返回值,需要在方法体中输出结果 }}说明:本题中方法dectobin(n)的输出虽然与要求有所出入,但上传是正确的。
以下用递归算法实现方法的设计:50001 求1 + 1/2! +....+ 1/n!输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入1 个正整数n,计算 s 的前n项的和(保留 4 位小数)。
s = 1 + 1/2! +....+ 1/n!要求定义并调用函数fact(n)计算n的阶乘。
例:括号内是说明输入:2 (repeat=2)2 (n=2)10 (n=10)输出:1.51.7183import java.util.Scanner;public class Test50001 {public static void main(String[] args) {int ri,repeat;int i,n;double s;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1;ri<=repeat;ri++){n=in.nextInt();/*-----------*/s=0;for(i=1;i<=n;i++)s+=1.0/fact(i);System.out.println((long)(s*10000+0.5)/10000.);}}/*---------------*/static double fact(int n) {//递归方法if(n==1)return 1;else return n*fact(n-1);}}50002 求a+aa+aaa+aa…a输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aa…a(n个a)之和。
要求定义并调用函数fn(a,n),它的功能是返回aa…a(n个a)。
例如,fn(3,2)的返回值是33。
例:括号内是说明输入2 (repeat=2)2 3 (a=2, n=3)8 5 (a=8, n=5)输出246 (2+22+222)98760 (8+88+888+8888+88888)import java.util.Scanner;public class Test50002{public static void main(String args[]){int ri, repeat;int i, n,a;long sn;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){a=in.nextInt();n=in.nextInt();/*------------*/sn=0;for(i=1;i<=n;i++)sn+=fn(a,i);System.out.println(sn);}}/*------------*/static int fn(int a,int n){ //递归方法if (n==1)return a;else return fn(a,n-1)*10+a;}}50006 输出 Fibonacci 序列输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入2 个正整数m和n(1<=m,n<=10000),输出m 和n之间所有的Fibonacci数。
Fibonacci 序列(第1项起):1 1 2 3 5 8 13 21 ......要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。
例如,fib(7)的返回值是13。
输出语句:System.out.print(f+" ");例:括号内是说明输入:3 (repeat=3)1 10 (m=1, n=10)20 100 (m=20, n=100)1000 6000 (m=1000, n=6000)输出:1 123 5 8 (1到10之间的Fibonacci数)21 34 55 89 (20到100之间的Fibonacci数)1597 2584 4181 (1000到6000之间的Fibonacci数)import java.util.Scanner;public class Test50006{public static void main(String args[]){int ri,repeat;int i, m, n;long f;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){m=in.nextInt();n=in.nextInt();/*---------*/i=1;f=1;while(f<=n){if(f>=m) System.out.print(f+" ");i++;f=fib(i);}System.out.println();}}/*------------*/static long fib(int n){ //递归方法if(n==1||n==2) return 1;else return fib(n-1)+fib(n-2);}}实验9-2 一维数组的使用1.求平均值输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数n (1<n≤10),再输入n个整数,输出平均值。
例:括号内是说明输入2 (repeat=2)3 1 2 -65 12 2 5 4 0输出aver=-1.0aver=4.6import java.util.Scanner;public class Test60001{public static void main(String []args){int ri, repeat;int i, n, sum,a[];float aver;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();a=new int[n];for(i=0; i<n; i++)a[i]=in.nextInt();//这个循环输入数组各元素/*--------------*/sum=0;for(i=0; i<n; i++) //这个循环实现累加sum+=a[i];aver=(float)sum/n; //求平均值,注意要先把sum转换成float,再计算System.out.println("aver="+aver);}}}2.求最大值及其下标输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数n (1<n≤10),再输入n个整数,输出最大值极其下标(设最大值惟一,下标从0开始)。
例:括号内是说明输入3 (repeat=3)3 1 6 43 10 8 15 1 2 5 4 0输出max=6,index=1 (最大值6的下标是1)max=10,index=0 (最大值10的下标是0)max=5,index=2 (最大值5的下标是2)import java.util.Scanner;public class Test60002{public static void main(String []args){int ri, repeat;int i, index, n, a[];Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();a=new int[n] ;for(i=0; i<n; i++)a[i]=in.nextInt();/*--------------*/index=0; //用index保存最大数的下标,开始假设a[0]是最大数for(i=1; i<n; i++)if(a[index]<a[i]) index=i;//a[i]与当前最大数a[index]比较,若a[i]更大,index变为iSystem.out.println("max="+a[index]+",index="+index);}}}3.逆序输出输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数n (1<n≤10),再输入n个整数,按逆序输出这些数。
例:括号内是说明输入2 (repeat=2)4 10 8 1 25 1 2 5 4 0输出2 1 8 100 4 5 2 1import java.util.Scanner;public class Test60003{public static void main(String []args){int ri, repeat;int i, n, temp,a[];Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri++){n=in.nextInt();a=new int[n];for(i=0; i<n; i++)a[i]=in.nextInt();/*--------------*/for(i=0; i<n/2; i++){ //a[i]与a[n-1-i]交换,注意交换次数 temp=a[i];a[i]=a[n-1-i];a[n-1-i]=temp;}for(i=0; i<n; i++)//输出一个数组System.out.print(a[i]+" ");System.out.println();}}}4.交换最小值和最大值输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。