Jse练习题目及答案_第1页
Jse练习题目及答案_第2页
Jse练习题目及答案_第3页
Jse练习题目及答案_第4页
Jse练习题目及答案_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、1 Java初学者第一个小程序public class HelloWorld public static void main(String args) System.out.println("Hello World!");2 break练习public class TestBreak public static void main(String args) int stop = 4;for(int i=1; i<=10; i+) if(i = stop) break; else System.out.println(i);3 continue练习public clas

2、s TestContinute public static void main(String args) int con = 3;for(int i=1; i<=5; i+) if(i = con) continue; else System.out.println(i);4 使用非递归的方法求Fibonacci数列第5个数是多少? /1, 1, 2, 3, 5, 8, 13public class TestFab public static void main(String args) System.out.println(method(5);public static long me

3、thod(int index) if(index = 1 | index = 2) return 1;long f1 = 1L;long f2 = 1L;long f = 0;for(int i=0; i<index-2; i+) f = f1 + f2;f1 = f2;f2 = f;return f;5 使用递归求Fibonacci数列第5个数是多少?答:5public class TestFibonacci public static void main(String args) System.out.println(method(5);public static int metho

4、d(int n) if(n = 1 | n = 2) return 1; else return method(n - 1) + method(n - 2);6 使用for循环求1! + 2! + 3! + . + 10! = 4037913;public class TestFor1 public static void main(String args) long f = 1L;long result = 0;for(int i=1; i<=10; i+) f *= i;result += f;System.out.println(result);7 使用for循环求1 + 3 +

5、5 + . + 99 = 2500;public class TestFor2 public static void main(String args) int result = 0;for(int i=1; i<=99; i+=2) result += i;System.out.println(result);8 if练习public class TestIF public static void main(String args) int i = 20;if(i<20) System.out.println("i < 20"); else if (i&

6、lt;40) System.out.println("i < 40"); else if(i>60) System.out.println("asf"); else System.out.println("kasjfla");9 使用递归求5! = 120;public class TestJC public static void main(String args) System.out.println(method(5);public static int method(int n) if(n = 1) return

7、1; else return n * method(n - 1);10 方法的调用举例public class TestMethod public static void main(String args) m1();m2(5);m3(4,5);System.out.println(m4(4, 6);public static void m1() /return;System.out.println("OK");public static void m2(int i) if(i<3) return; else System.out.println(i);public

8、static void m3(int i, int j) System.out.println(i + j);public static int m4(int i, int j) return i < j ? i : j;11 switch问题举例,注意穿透现象public class TestSwitch public static void main(String args) int i = 3;switch(i) case 3 :System.out.println("A");break;case 5 :System.out.println("B&qu

9、ot;);break;default:System.out.println("error"); 12 while do while 举例,将1到9输出public class TestWhile public static void main(String args) int i = 1;while(i<=9) System.out.print(i + " ");i+;System.out.println();i = 1;do System.out.print(i + " ");i+; while (i<=9);13 求3

10、维空间两点坐标之间的距离的平方class Point double x;double y;double z;Point(double x, double y, double z) this.x = x;this.y = y;this.z = z;void setX(double x) this.x = x;void setY(double y) this.y = y;void setZ(double z) this.z = z;double getDistance(Point p) return (x - p.x)*(x - p.x) + (y - p.y)*(y - p.y) + (z -

11、p.z)*(z - p.z);public class TestPoint public static void main(String args) Point p1 = new Point(1.0, 2.0, 3.0);Point p2 = new Point(0.0, 0.0, 0.0);System.out.println(p1.getDistance(p2);p1.setY(1.0);System.out.println(p1.getDistance(new Point(1.0, 1.0, 3.0);14 重写equals方法判定两只猫是否相等public class TestEqua

12、ls public static void main(String args) String s1 = "a"String s2 = "a"System.out.println(s1 = s2);System.out.println(s1.equals(s2);String s3 = new String("hello");String s4 = new String("hello");System.out.println(s3 = s4);System.out.println(s3.equals(s4);Cat

13、c1 = new Cat(1, 2, 3);Cat c2 = new Cat(1, 2, 3);System.out.println(c1 = c2);System.out.println(c1.equals(c2); class Cat int color;int weight;int height;Cat(int color, int weight, int height) this.color = color;this.weight = weight;this.height = height;public boolean equals(Object obj) if(obj = null)

14、 return false; else if(obj instanceof Cat) Cat c = (Cat)obj;if(this.color = c.color && this.height = c.height && this.weight = c.weight) return true;return false;15 多态举例package com.dt;public class TestDt public static void main(String args) Cat c = new Cat("catname", "

15、yellow");Dog d = new Dog("dogname", "black");Lady l1 = new Lady("l1", c);Lady l2 = new Lady("l2", d);l1.myPetEnjoy();l2.myPetEnjoy();class Animal private String name;Animal(String name) = name;public void enjoy() System.out.println("动物的叫声.&

16、quot;);class Cat extends Animal private String eyeColor;Cat(String n, String eyeColor) super(n);this.eyeColor = eyeColor;public void enjoy() System.out.println("猫的叫声.");class Dog extends Animal private String furColor;Dog(String n, String furColor) super(n);this.furColor = furColor;public

17、void enjoy() System.out.println("狗的叫声.");class Lady private String name;private Animal pet;Lady(String name, Animal pet) = name;this.pet = pet;public void myPetEnjoy() pet.enjoy();16 冒泡排序public class BubbleSort public static void main(String args) int a = new intargs.length;for(i

18、nt i=0; i<args.length; i+) ai = Integer.parseInt(argsi);print(a);bubbleSort(a);print(a);private static void print(int a) for(int i=0; i<a.length; i+) System.out.print(ai + " ");System.out.println();private static int bubbleSort(int a) for(int i=a.length-1; i>=1; i-) for(int j=0; j

19、<=a.length-2; j+) if(aj > aj+1) int temp = aj;aj = aj+1;aj+1 = temp;return a;17 使用数组数3退1:非面向对象的写法public class Count3Quit public static void main(String args) Boolean arr = new Boolean500;for(int i=0; i<arr.length; i+) arri = true;int leftCount = arr.length;int countNum = 0;int index = 0;whi

20、le(leftCount > 1) if(arrindex = true) countNum +;if(countNum = 3) countNum = 0;arrindex = false;leftCount -;index +;if(index = arr.length) index = 0;for(int i=0; i<arr.length; i+) if(arri = true) System.out.println(i);18 面向对象的数3退1public class Count3Quit2 public static void main(String args) Ki

21、dCircle kc = new KidCircle(500);int countNum = 0;int leftCount = kc.count;Kid k = kc.first;while(leftCount > 1) countNum +;if(countNum = 3) countNum = 0;kc.delete(k);k = k.right;class Kid int id;Kid(int id) this.id = id;Kid left;Kid right;class KidCircle int count = 0;Kid first, last;KidCircle(in

22、t n) for(int i=0; i<n; i+) add();void add() Kid k = new Kid(count);if(count <= 0) first = k;last = k;k.left = k;k.right = k; else last.right = k;k.left = last;k.right = first;first.left = k;last = k;count +;void delete(Kid k) if(count <= 0) return; else if(count = 1) first = last = null; el

23、se k.left.right = k.right;k.right.left = k.left;if(k = first) first = k.right; else if(k = last) last = k.left;count -;19 选择排序public class SelectionSort public static void main(String args) int a = new intargs.length;for(int i=0; i<args.length; i+) ai = Integer.parseInt(argsi);print(a);selectionS

24、ort(a);print(a);private static void print(int a) for(int i=0; i<a.length; i+) System.out.print(ai + " ");System.out.println();private static void selectionSort(int a) int temp, k;for(int i=0; i<a.length; i+) k = i;for(int j=k+1; j<a.length; j+) if(ak > aj) k = j;if(k != i) temp

25、 = ai;ai = ak;ak = temp;20 简单运算器public class TestArgs public static void main(String args) double d1 = Double.parseDouble(args0);double d2 = Double.parseDouble(args2);double d = 0;if(args1.equals("+") d = d1 + d2; else if(args1.equals("-") d = d1 - d2; else if(args1.equals("

26、x") d = d1 * d2; else if(args1.equals("/") d = d1 / d2; else System.out.println("error");System.out.println(d);21 数组拷贝练习public class TestArrayCopy public static void main(String args) int intArray = 1,2,3,4,5,6,7;int intArrayBak = new int3;System.arraycopy(intArray, 0, intAr

27、rayBak, 0, intArray.length);intArray21 = 100;for(int i=0; i<intArray.length; i+) for(int j=0; j<intArrayi.length; j+) System.out.print(intArrayij + " ");System.out.println(); 22 对日期排序public class TestDateSort public static void main(String args) Date days = new Date5;days0 = new Date

28、(2006, 5, 4);days1 = new Date(2006, 7, 4);days2 = new Date(2008, 5, 4);days3 = new Date(2004, 5, 9);days4 = new Date(2004, 5, 4);Date d = new Date(2006, 7, 4);String str = String.valueOf(d);/str = d.toString();bubbleSort(days);for(int i=0; i<days.length; i+) System.out.println(daysi);System.out.p

29、rintln(binarySearch(days, d); public static Date bubbleSort(Date a) int len = a.length; for(int i = len-1;i>=1;i-) for(int j = 0;j<=i-1;j+) if(pare(aj+1) > 0) Date temp = aj; aj=aj+1; aj+1=temp; return a; public static int binarySearch(Date days, Date d) if (days.length=0) return -1;

30、int startPos = 0; int endPos = days.length-1; int m = (startPos + endPos) / 2; while(startPos <= endPos) if(pare(daysm) = 0) return m; if(pare(daysm) > 0) startPos = m + 1; if(pare(daysm) < 0) endPos = m -1; m = (startPos + endPos) / 2; return -1; class Date int year, month, day; Date(int y

31、, int m, int d) year = y; month = m; day = d; public int compare(Date date) return year > date.year ? 1 : year < date.year ? -1 : month > date.month ? 1 : month < date.month ? -1 : day > date.day ? 1 : day < date.day ? -1 : 0; public String toString() return "Year:Month:Day -

32、" + year + "-" + month + "-" + day; 23 二分法查找public class TestSearch public static void main(String args) int a = 1, 3, 6, 8, 9, 10, 12, 18, 20, 34 ;int i = 12;/System.out.println(search(a, i);System.out.println(binarySearch(a, i);public static int search(int a, int num) for(

33、int i=0; i<a.length; i+) if(ai = num) return i;return -1;public static int binarySearch(inta, int num) if (a.length=0) return -1; int startPos = 0; int endPos = a.length-1; int m = (startPos + endPos) / 2; while(startPos <= endPos) if(num = am) return m; if(num > am) startPos = m + 1; if(nu

34、m < am) endPos = m -1; m = (startPos + endPos) / 2; return -1; 24 将字符串String s = "1,2;3,4,5;6,7,8"分解成一个double的二维数组public class ArrayParser public static void main(String args) double d;String s = "1,2;3,4,5;6,7,8"String sFirst = s.split("");d = new doublesFirst.lengt

35、h;for(int i=0; i<sFirst.length; i+) /System.out.println(sFirsti);String sSecond = sFirsti.split(",");di = new doublesSecond.length;for(int j=0; j<sSecond.length; j+) /System.out.println(sSecondj);dij = Double.parseDouble(sSecondj);for(int i=0; i<d.length; i+) for(int j=0; j<di.

36、length; j+) System.out.println(dij);25 列出D:/A下边所以的文件及文件夹import java.io.*;public class FileList public static void main(String args) File f = new File("d:/A");System.out.println(f.getName();tree(f, 1);private static void tree(File f, int level) String str = ""for(int i=0; i<lev

37、el; i+) str += " "File childs = f.listFiles();for(int i=0; i<childs.length; i+) System.out.println(str + childsi.getName();if(childsi.isDirectory() tree(childsi, level + 1);26 枚举举例enum MyColor red3, green, blue;public class TestEnum public static void main(String args) MyColor m = MyCol

38、or.red3;long l1 = 3333333255252553L;int i = (int) l1;System.out.println(i);short s = 5; s = (short) (s + 2); s += 2; switch(m) case red3 :System.out.println(MyColor.red3);break;case green :System.out.println("B_green");break;case blue :System.out.println("C_blue");break;default :

39、System.out.println("error");break;System.out.println(m.toString().intern()="red3");27 创建文件java.txtimport java.io.*;public class TestFile public static void main(String args) String seperator = File.separator;String fileName = "naruto.txt"String directory = "m1/m2&q

40、uot;File f = new File(directory, fileName);if(f.exists() System.out.println("文件名是:" + f.getAbsolutePath();System.out.println("文件大小是:" + f.length(); else f.getParentFile().mkdirs();try f.createNewFile(); catch (IOException e) e.printStackTrace();public class TestString1 public sta

41、tic void main(String args) String s1 = "hello"String s2 = "world"String s3 = "hello"System.out.println(s1 = s3); /trues1 = new String("hello");s2 = new String("hello");System.out.println(s1 = s2);System.out.println(s1.equals(s2);28 求下列String s = &quo

42、t;du*JG"中大写字母和小写字母,和其他个字符各多少个?public class TestString2 public static void main(String args) String s = "du*JG"String lStr = "abcdefghijklmnopqrstuvwxyz"String uStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"int lCount = 0;int uCount = 0;int oCount = 0;for(int i=0; i<s.length

43、(); i+) char c = s.charAt(i);if(lStr.indexOf(c) != -1) lCount +; else if(uStr.indexOf(c) != -1) uCount +; else oCount +;System.out.print(lCount + " " + uCount + " " + oCount);29 求java这个字符串在下列字符串中出现的次数String s = "5454javaadsfjavaadfasfjavasdfajavaaadfjavaADFAjava545"publ

44、ic class TestString3 public static void main(String args) String s = "5454javaadsfjavaadfasfjavasdfajavaaadfjavaADFAjava545"int count = 0;while(s.indexOf("java") != -1) s = s.substring(s.indexOf("java") + "java".length();count +;System.out.println(count);30 将文

45、件复制到新的位置import java.io.*;public class FileCopy public static void main(String args) int b = 0; FileReader in = null; FileWriter out = null; try in = new FileReader("d:/share/java/HelloWorld.java"); out = new FileWriter("d:/share/java/io/HW.java"); while(b=in.read()!=-1) out.write

46、(b); out.close(); in.close(); catch (FileNotFoundException e2) System.out.println("找不到指定文件"); System.exit(-1); catch (IOException e1) System.out.println("文件复制错误"); System.exit(-1); System.out.println("文件已复制"); 31 缓冲区字节流举例import java.io.*;public class TestBufferStream1 p

47、ublic static void main(String args) try FileInputStream fis = new FileInputStream("E:/EclipseCode_MyEclipse/Chapter8/src/TestBufferStream1.java"); BufferedInputStream bis = new BufferedInputStream(fis); int c = 0; System.out.println(bis.read(); System.out.println(bis.read(); bis.mark(100); for(int i=0;i<=10 && (c=bis.read()!=-1;i+) System.out.

温馨提示

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

评论

0/150

提交评论