ImageVerifierCode 换一换
格式:DOC , 页数:50 ,大小:243.51KB ,
资源ID:2394119      下载积分:14 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2394119.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(Java-2实用教程(第5版)习题解答.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Java-2实用教程(第5版)习题解答.doc

1、习题解答 习题1(第1章) 一、 问答题 1.Java语言的主要贡献者是谁? 2.开发Java应用程序需要经过哪些主要步骤? 3.Java源文件是由什么组成的?一个源文件中必须要有public类吗? 4.如果JDK的安装目录为D:\jdk,应当怎样设置path和classpath的值? 5.Java源文件的扩展名是什么?Java字节码的扩展名是什么? 6.如果Java应用程序主类的名字是Bird,编译之后,应当怎样运行该程序? 7.有哪两种编程风格,在格式上各有怎样的特点? 1.James Gosling 2.需3个步骤: 1) 用文本编辑器编写源文件。 2) 使

2、用javac编译源文件,得到字节码文件。 3) 使用解释器运行程序。 3.源文件由若干个类所构成。对于应用程序,必须有一个类含有public static void main(String args[])的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个public类。 4.set classpath=D:\jdk\jre\lib\rt.jar;.; 5. java和class 6. java Bird 7. 独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行) 二、选择题 1.B。2.D。 1.下列哪个是JDK提供的

3、编译器? A) java.exe B) javac.exe C) javap.exe D) javaw.exe 2.下列哪个是Java应用程序主类中正确的main方法? A) public void main (String args[ ]) B) static void main (String args[ ]) C) public static void Main (String args[]) D) public static void main (String args[ ]) 三、阅读程序 阅读下列Java源文件,并回答问题。 public class P

4、erson { void speakHello() { System.out.print("您好,很高兴认识您"); System.out.println(" nice to meet you"); } } class Xiti { public static void main(String args[]) { Person zhang = new Person(); zhang.speakHello(); } } (a)上述源文件的名字是什么? (b)编译上述源文件将生成几个字节码文件

5、这些字节码文件的名字都是什么? (c)在命令行执行java Person得到怎样的错误提示?执行java xiti得到怎样的错误提示?执行java Xiti.class得到怎样的错误提示?执行java Xiti得到怎样的输出结果? 1.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您 nice to meet you” 习题2(第2章) 一、问答题 1. 什么叫标识符?标识符的规

6、则是什么?false是否可以作为标识符。 2. 什么叫关键字?true和false是否是关键字?请说出6个关键字。 3. Java的基本数据类型都是什么? 4. float型常量和double型常量在表示上有什么区别? 5. 怎样获取一维数组的长度,怎样获取二维数组中一维数组的个数。 1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。 2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。true和false不是关键字。6个关键字

7、class implements interface enum extends abstract。 3.boolean,char,byte,short,int,long,float,double。 4.float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。 5.一维数组名.length。二维数组名.length。 二、选择题 2.下列哪三项是正确的float变量的声明?adf A. float foo = -1; B. float foo = 1.0; C. float foo = 42e1; D. float foo = 2.02

8、f; E. float foo = 3.03d; F. float foo = 0x0123; 3.下列哪一项叙述是正确的?b A. char型字符在Unicode表中的位置范围是0至32767 B. char型字符在Unicode表中的位置范围是0至65535 C. char型字符在Unicode表中的位置范围是0至65536 D. char型字符在Unicode表中的位置范围是-32768至32767 4.以下哪两项是正确的char型变量的声明?be A. char ch = "R"; B. char ch = '\\' C. char ch = 'ABCD

9、'; D. char ch = "ABCD"; E. char ch = '\ucafe'; F. char ch = '\u10100' 5.下列程序中哪些【代码】是错误的?2345 public class E { public static void main(String args[]) { int x = 8; byte b = 127; //【代码1】 b = x; //【代码2】 x = 12L; //【代码3】 long y=8.0;

10、//【代码4】 float z=6.89 ; //【代码5】 } } 6.对于int a[] = new int[3];下列哪个叙述是错误的?b A. a.length的值是3。 B. a[1]的值是1。 C. a[0]的值是0。 D. a[a.length-1]的值等于a[2]的值。 1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。 三、阅读或调试程序 1.属于操作题,解答略。 2.属于操作题,解答略。 3.属于操作题,解答略。 4.下列程序标注的【代码1】,【代码2】的输出结果是什么?

11、 public class E { public static void main (String args[ ]){ long[] a = {1,2,3,4}; long[] b = {100,200,300,400,500}; b = a; System.out.println("数组b的长度:"+b.length); //【代码1】 System.out.println("b[0]="+b[0]); //【代码2】 } } 5.下列程序标注的【代码1】,【代码2】的输出结果是什么? public

12、 class E { public static void main(String args[]) { int [] a={10,20,30,40},b[]={{1,2},{4,5,6,7}}; b[0] = a; b[0][1] = b[1][3]; System.out.println(b[0][3]); //【代码1】 System.out.println(a[1]); //【代码2】 } } 4.【代码1】:4。【代码2】:b[0]=1。 5.【代码1】:40。【代码2】:7 四、编写程序

13、 1.编写一个应用程序,给出汉字‘你’、‘我’、‘他’在Unicode表中的位置。 2.编写一个Java应用程序,输出全部的希腊字母。 1. public class E { public static void main(String args[]) { System.out.println((int)'你'); System.out.println((int)'我'); System.out.println((int)'他'); } } 2. public class E { public static vo

14、id main (String args[ ]) { char cStart='α',cEnd='ω'; for(char c=cStart;c<=cEnd;c++) System.out.print(" "+c); } } 习题3(第3章) 一、 问答题 1.关系运算符的运算结果是怎样的数据类型? 2.if语句中的条件表达式的值是否可以是int型? 3.while语句中的条件表达式的值是什么类型? 4.switch语句中必须有default选项码? 5.在while语句的循环体中,执行break语句的效果是什么? 6.可

15、以用for语句代替while语句的作用吗? 1.boolean 2.不可以 3.boolean 4. 不是必须的 5.结束while语句的执行 6.可以 二、选择题 1.下列哪个叙述是正确的?a A. 5.0/2+10的结果是double型数据。 B.(int)5.8+1.0的结果是int型数据。 C.'苹'+ '果'的结果是char型数据。 D.(short)10+'a'的结果是short型数据。 2.用下列哪个代码替换程序标注的【代码】会导致编译错误?c A.m-->0 B.m++>0 C.m = 0 D.m>100&&true public cl

16、ass E { public static void main (String args[ ]) { int m=10,n=0; while(【代码】) { n++; } } } 3.假设有int x=1;以下哪个代码导致“可能损失精度,找到int需要char”这样的编译错误。 c A.short t=12+'a'; B.char c ='a'+1; C.char m ='a'+x; D.byte n ='a'+1; 1.A。 2.C。 3.C。 三、阅读程序 1.下列程序的输出结

17、果是什么? public class E { public static void main (String args[ ]) { char x='你',y='e',z='吃'; if(x>'A'){ y='苹'; z='果'; } else y='酸'; z='甜'; System.out.println(x+","+y+","+z); } } 2.下列程序的输出结果是什么? public class E

18、 { public static void main (String args[ ]) { char c = '\0'; for(int i=1;i<=4;i++) { switch(i) { case 1: c = 'J'; System.out.print(c); case 2: c = 'e'; System.out.print(c);

19、 break; case 3: c = 'p'; System.out.print(c); default: System.out.print("好"); } } } } 3.下列程序的输出结果是什么? public class E { public static void main (String []args) { int x = 1,y = 6; while (y-->0)

20、{ x--; } System.out.print("x="+x+",y="+y); } } x=0,y=5 x=-1,y=4 x=-2,y=3 x=-3,y=2 x=-4,y=1 x=-5,y=0 x=-5,y=-1 1.你,苹,甜 2.Jeep好好 3.x=-5,y=-1 四、编程序题 1.编写应用程序求1!+2!+…+10!。 2.编写一个应用程序求100以内的全部素数。 3.分别用do-while和for循环计算1+1/2!+1/3!+1/4!… … 的前20项和。 4.一个数如果恰好等于它的因

21、子之和,这个数就称为“完数”。编写应用程序求1000之内的所有完数。 5.编写应用程序,使用for循环语句计算8+88+888…前10项之和。 6.编写应用程序,输出满足1+2+3…+n<8888的最大正整数n。 1.public class Xiti1 { public static void main(String args[]) { double sum=0,a=1; int i=1; while(i<=20) { sum=sum+a; i++; a=a*i; }

22、System.out.println("sum="+sum); } } 2.public class Xiti2 { public static void main(String args[]) { int i,j; for(j=2;j<=100;j++) { for(i=2;i<=j/2;i++) { if(j%i==0) break; } if(i>j/2) { System.out.pr

23、int(" "+j); } } } } 3.class Xiti3 { public static void main(String args[]) { double sum=0,a=1,i=1; do { sum=sum+a; i++; a=(1.0/i)*a; } while(i<=20); System.out.println("使用do-while循环计算的sum="+sum); for(sum

24、0,i=1,a=1;i<=20;i++) { a=a*(1.0/i); sum=sum+a; } System.out.println("使用for循环计算的sum="+sum); } } 4.public class Xiti4 { public static void main(String args[]) { int sum=0,i,j; for(i=1;i<=1000;i++) { for(j=1,sum=0;j

25、 if(i%j==0) sum=sum+j; } if(sum==i) System.out.println("完数:"+i); } } } 5.public class Xiti5 { public static void main(String args[]) { int m=8,item=m,i=1; long sum=0; for(i=1,sum=0,item=m;i<=10;i++) { sum=sum+i

26、tem; item=item*10+m; } System.out.println(sum); } } 6. public class Xiti6 { public static void main(String args[]) { int n=1; long sum=0; while(true) { sum=sum+n; n++; if(sum>=8888) break; } System

27、out.println("满足条件的最大整数:"+(n-1)); } } 习题4(第4章) 一、 问答题 1.面向对象语言有哪三个特性? 2.类名应当遵守怎样的编程风格? 3.变量和方法的名字应当遵守怎样的编程风格? 4.类体内容中声明成员变量是为了体现对象的属性还是行为? 5.类体内容中定义的非构造方法是为了体现对象的属性还是行为? 6.什么时候使用构造方法?构造方法有类型吗? 7.类中的实例变量在什么时候会被分配内存空间? 8.什么叫方法的重载?构造方法可以重载吗? 9.类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可以

28、操作实例变量吗?可以。不可以。 10.类中的实例方法可以用类名直接调用吗? 8.一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。 9. 10.不可以。 11.简述类变量和实例变量的区别。 12.this关键字代表什么?this可以出现在类方法中吗? 1. 封装、继承和多态。 2.当类名由几个单词复合而成时,每个单词的首字母使用大写。 3.名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其它单词的首字母使用大写。 4.属性 5.行为 6.用类创建对象时。没有类型

29、7.用类创建对象时。 8.一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。 9.可以。不可以。 10.不可以。 11.一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。 12.代表调用当前方法的对象。不可以。 二、选择题 1.下列哪个叙述是正确的? b A. Java应用程序由若干个类所构成,这些类必须在一个源文件中。 B. Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文

30、件中,其中必须有一个源文件含有主类。 C. Java源文件必须含有主类。 D. Java源文件如果含有主类,主类必须是public类。 2.下列哪个叙述是正确的? d A. 成员变量的名字不可以和局部变量的相同。 B. 方法的参数的名字可以和方法中声明的局部变量的名字相同。 C. 成员变量没有默认值。 D. 局部变量没有默认值。 3.对于下列Hello类,哪个叙述是正确的?d A. Hello类有2个构造方法。 B. Hello类的int Hello()方法是错误的方法。 C. Hello类没有构造方法。 D. Hello无法通过编译,因为其中的hello方法的方法头是

31、错误的(没有类型)。 class Hello { Hello(int m){ } int Hello() { return 20; } hello() { } } 4.对于下列Dog类,哪个叙述是错误的?d A. Dog(int m)与Dog(double m)互为重载的构造方法。 B. int Dog(int m)与void Dog(double m)互为重载的非构造方法。 C. Dog类只有两个构造方法,而且没有无参数的构造方法。 D. Dog类有3个构造方法。 class Dog

32、{ Dog(int m){ } Dog(double m){ } int Dog(int m){ return 23; } void Dog(double m){ } } 构造方法是一种特殊的方法,与一般的方法不同是: 1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。 2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。 3.不能被static、final、synchronized、abstr

33、act和native修饰。构造方法不能被子类继承。 5.下列哪些类声明是错误的?cd A) class A B) public class A C) protected class A D) private class A 6.下列A类中【代码1】~【代码5】哪些是错误的?1 4 class Tom { private int x = 120; protected int y = 20; int z = 11; private void f() { x = 200; System.out.println(x); }

34、 void g() { x = 200; System.out.println(x); } } public class A { public static void main(String args[]) { Tom tom = new Tom(); tom.x = 22; //【代码1】 tom.y = 33; //【代码2】 tom.z = 55; //【代码3】 tom.f(); //【代码4】 tom.g(); //【代

35、码5】 } } 7.下列E类的类体中哪些【代码】是错误的。4 class E { int x; //【代码1】 long y = x; //【代码2】 public void f(int n) { int m; //【代码3】 int t = n+m; //【代码4】 } } 1.B。2.D。3.D。4.D。5.CD。6.【代码1】【代码4】。7.【代码4】。 三、阅读程序 1.说出下列E类中【代码1】~【代码3】的输出结果。 cla

36、ss Fish { int weight = 1; } class Lake { Fish fish; void setFish(Fish s){ fish = s; } void foodFish(int m) { fish.weight=fish.weight+m; } } public class E { public static void main(String args[]) { Fish redFish = new Fish(); System.out.

37、println(redFish.weight); //【代码1】 Lake lake = new Lake(); lake.setFish(redFish); lake.foodFish(120); System.out.println(redFish.weight); //【代码2】 System.out.println(lake.fish.weight); //【代码3】 } } 2.请说出A类中System.out.println的输出结果。 class B { int x = 1

38、00,y = 200; public void setX(int x) { x = x; } public void setY(int y) { this.y = y; } public int getXYSum() { return x+y; } } public class A { public static void main(String args[]) { B b = new B(); b.setX(-100); b.setY(-200);

39、 System.out.println("sum="+b.getXYSum()); } } 3.请说出A类中System.out.println的输出结果。 class B { int n; static int sum=0; void setN(int n) { this.n=n; } int getSum() { for(int i=1;i<=n;i++) sum=sum+i; return sum; } } public class A { public st

40、atic void main(String args[]) { B b1=new B(),b2=new B(); b1.setN(3); b2.setN(5); int s1=b1.getSum(); int s2=b2.getSum(); System.out.println(s1+s2); } } 4.请说出E类中【代码1】,【代码2】的输出结果n的输出结果。 class A { double f(int x,double y) { return x+y;

41、} int f(int x,int y) { return x*y; } } public class E { public static void main(String args[]) { A a=new A(); System.out.println(a.f(10,10)); //【代码1】 System.out.println(a.f(10,10.0)); //【代码2】 } } 5.上机实习下列程序,了解可变参数。 public class E { public static vo

42、id main(String args[]) { f(1,2); f(-1,-2,-3,-4); //给参数传值时,实参的个数很灵活 f(9,7,6) ; } public static void f(int ... x){ //x是可变参数的代表,代表若干个int型参数 for(int i=0;i

43、) } } } 6.类的字节码进入内存时,类中的静态块会立刻被执行。实习下列程序,了解静态块。 class AAA { static { //静态块 System.out.println("我是AAA中的静态块!"); } } public class E { static { //静态块 System.out.println("我是最先被执行的静态块!"); } public static void main(String args[]) { AAA a= new AAA(

44、); //AAA的字节码进入内存 System.out.println("我在了解静态(static)块"); } 1.【代码1】:1,【代码2】:121,【代码3】:121。 2.sum=-100。 3. 27。 4.【代码1】:100,【代码2】:20.0。 5. 上机实习题目,解答略。 6. 上机实习题目,解答略。 四、编程题 用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC,CPU和HardDisk和Test,其中Test是主类。 l PC类与CPU和HardDisk类关联的UML图(图

45、4.33) 其中,CPU类要求getSpeed()返回speed的值;要求setSpeed(int m)方法将参数m的值赋值给speed。HardDisk类要求getAmount()返回amount的值,要求setAmount(int m)方法将参数m的值赋值给amount。PC类要求setCUP(CPU c) 将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示cpu的速度和硬盘的容量。 l 主类Test的要求 ① main方法中创建一个CPU对象cpu,cpu将自己的speed设置为2200, ② ma

46、in方法中创建一个HardDisk对象disk,disk将自己的amount设置为200, ③ main方法中创建一个PC对象pc, ④ pc调用setCUP(CPU c)方法,调用时实参是cpu, ⑤ pc调用setHardDisk (HardDisk h)方法,调用时实参是disk, 图4.33 PC与CPU和HardDisk关联UML图 PC cpu:CPU HD:HardDisk setCPU(CPU):void setHardDisk(HardDisk):void show():void CPU speed:int setSpeed(int):void

47、 getSpeed():int HardDisk amount:int setAmount(int):void getAmount():int ⑥ pc调用show()方法。 CPU.java public class CPU { int speed; int getSpeed() { return speed; } public void setSpeed(int speed) { this.speed = speed; } } HardDisk.java public class H

48、ardDisk { int amount; int getAmount() { return amount; } public void setAmount(int amount) { this.amount = amount; } } PC.java public class PC { CPU cpu; HardDisk HD; void setCPU(CPU cpu) { this.cpu = cpu; } void setHardDi

49、sk(HardDisk HD) { this.HD = HD; } void show(){ System.out.println("CPU速度:"+cpu.getSpeed()); System.out.println("硬盘容量:"+HD.getAmount()); } } Test.java public class Test { public static void main(String args[]) { CPU cpu = new CPU(); Har

50、dDisk HD=new HardDisk(); cpu.setSpeed(2200); HD.setAmount(200); PC pc =new PC(); pc.setCPU(cpu); pc.setHardDisk(HD); pc.show(); } } 习题5(第5章) 一、问答题 1.子类可以有多个父类吗? 2.java.lang包中的Object类是所有其他类的祖先类吗? 3.如果子类和父类不在同一个包中,子类是否继承父类的友好成员? 4.子类怎样隐藏继承

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服