浙大JAVA 实验题答案13answer.doc_第1页
浙大JAVA 实验题答案13answer.doc_第2页
浙大JAVA 实验题答案13answer.doc_第3页
浙大JAVA 实验题答案13answer.doc_第4页
浙大JAVA 实验题答案13answer.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验13 字符串处理(二)和类的设计1. 程序填空题,不要改变与输入输出有关的语句。以下题目请采用字符串处理来实现:40010求整数的位数以及各位数之和输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个整数,输出它的位数以及各位数之和。例:括号内是说明输入4 (repeat=4) 123456 -100 -1 99输出number=6, sum=21 (123456的位数是6, 各位数之和是21)number=3, sum=1 (-100的位数是3, 各位数之和是1)number=1, sum=1 (-1的位数是1, 各位数之和是1)number=2, sum=18 (99的位数是2, 各位数之和是18)import java.util.Scanner;public class Test40010 public static void main(String args) int ri, repeat; int number, sum,n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) n=in.nextInt(); /*-*/n=Math.abs(n);String s=String.valueOf(n); /把正整数n转换成字符串number=s.length(); /得到整数的位数sum=0;for(int i=0;inumber;i+)sum+=(s.charAt(i)-0); /求各位数字和 System.out.println(number=+number+, sum=+sum); 50003 统计一个整数中数字的个数输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个整数,统计并输出该数中2的个数。要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数。例如,countdigit(10090,0)的返回值是3。例:括号内是说明输入:3 (repeat=3)-219022345543输出:count=2 (-21902中有2个2)count=1 (有1个2)count=0 (345543中没有2)import java.util.Scanner;public class Test50003 public static void main(String args) int ri, repeat; int count; long n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) n=in.nextInt(); /*-*/ /*-*/ n=Math.abs(n); count=countdigit(n,2); System.out.println(count=+count); /*-*/统计正整数number中数字digit的个数static int countdigit(long number,int digit) int c=0; String s=String.valueOf(number); /把长整数number转换成字符串 /以下循环实现:依次取出number的每个数字与指定数字digit比较,若相等则个数加1 for(int i=0;is.length();i+) if(s.charAt(i)-0=digit)c+; return c; 50009 将一个整数逆序输出输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个整数,将它逆序输出。要求定义并调用函数reverse(number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。例:括号内是说明输入4 (repeat=4) 123456 -100 -2 99输出654321-1-299import java.util.Scanner;public class Test50009 public static void main(String args) int ri,repeat; long n, res; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri=repeat;ri+) n=in.nextInt(); /*-*/ res=reverse(n); System.out.println(res); /*-*/static long reverse(long number)/返回number的逆序数long a;int flag=1; /保存符号if(number0) flag=-1;number=-number; /负数变成正数String s1=String.valueOf(number);String s2=; for(int i=0;is1.length();i+) s2=s1.charAt(i)+s2; /字符串逆序 a=Long.parseLong(s2); /转换成数值 return flag*a; /加上符号 2. 编程题70001 定义一个能计算圆面积和周长的类输入n,输入n个圆半径,分别计算圆面积和周长。要求在main()方法所在类的后面定义一个Circle类,该类包含以下成员:成员变量r:单精度浮点型成员方法setR():设置半径成员方法area():计算面积,返回双精度浮点数成员方法perimeter():计算周长,返回双精度浮点数输入输出示例(括号内是说明)输入:2 (n=2,后面要输入2个圆半径)12.3 100.12 (第1个半径是12.3,第2个半径是100.12)输出:475 (第1个圆面积)77 (第1个圆周长)31491 (第2个圆面积)629 (第2个圆周长)import java.util.*;public class Test70001 public static void main(String args) Scanner in=new Scanner(System.in); int n,i; float r; n=in.nextInt(); for(i=1;i=n;i+) r=in.nextFloat(); Circle cir=new Circle(); cir.setR(r); System.out.println(Math.round(cir.area(); System.out.println(Math.round(cir.perimeter(); /*-*/class Circlefloat r;public void setR(float x)r=x;public double area()return Math.PI*r*r;public double perimeter()return 2*Math.PI*r;70002 设计一个立方体类输入一个立方体边长,分别计算表面积和体积。要求在main()方法所在类的后面定义一个Cube类,该类包含以下成员:成员变量length:双精度浮点型,建议用私有变量成员方法setLength():设置边长成员方法getLength():返回边长成员方法calcArea():计算表面积,返回双精度浮点数成员方法calcV():计算体积,返回双精度浮点数输入输出示例(括号内是说明)输入:1.25 (边长等于1.25)输出:Length=1.25Surface area=9.375Volume=1.953125import java.util.Scanner;public class Test70002 public static void main(String args) Scanner in=new Scanner(System.in);double n;n=in.nextDouble(); /输入边长/*-*/ Cube cube1=new Cube(); cube1.setLength(n);System.out.println(Length=+cube1.getLength();System.out.println(Surface area=+cube1.calcArea();System.out.println(Volume=+cube1.calcV(); /*-*/class Cubeprivate

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论