面试编程题(一)

来源:互联网 发布:淘宝手动绞肉机 编辑:程序博客网 时间:2024/06/04 18:17

几道面试编程题,保存在这里了

package demo.test;import java.util.Arrays;import java.util.Scanner;public class A {public static void main(String[] args) {/*//对一串数字排序int [] intArr={5,9,1,4,2,6,3,14,8,0,7};//数组排序Arrays.sort(intArr);for (int i : intArr) {System.out.println(i);}//选择排序for(int i =0;i<intArr.length-1;i++){for (int j = i+1; j < intArr.length; j++) {if(intArr[i]>intArr[j]){intArr[i]+=intArr[j];intArr[j]=intArr[i]-intArr[j];intArr[i]-=intArr[j];}}}for (int i : intArr) {System.out.println(i);}//冒泡排序for(int i =0;i<intArr.length-1;i++){for (int j = 0; j < intArr.length-i-1; j++) {if(intArr[j]>intArr[j+1]){intArr[j]+=intArr[j+1];intArr[j+1]=intArr[j]-intArr[j+1];intArr[j]-=intArr[j+1];}}}for (int i : intArr) {System.out.println(i);}*//*100以内的质数for(int i=1;i<=100;i++){int j=2;for(;j<=i/2;j++){if(i%j==0 && i>2){break;}}if(j>i/2){System.out.println(i+"是质数");}}*//*//判断是否是对称数,比如34543,223322//第一种,换成字符串比较Scanner scanner = new Scanner(System.in);System.out.println("请输入一个数:");String aa = scanner.next();try {int a = Integer.valueOf(aa);} catch (Exception e) {System.out.println("你输入的不是数字");return;}boolean judge = true;for (int i = 0; i < aa.length()/2; i++) {System.out.println(aa.substring(i, i+1));if(!aa.substring(i, i+1).equals(aa.substring(aa.length()-i-1, aa.length()-i))){judge=false;}}System.out.println(judge);//第二种,高低位互换构造一个新的数,与原来的数进行比较boolean judge = true;Scanner scanner = new Scanner(System.in);System.out.println("请输入一个数:");String number = scanner.next();scanner.close();int a=0,b=0;try {a = Integer.valueOf(number);} catch (Exception e) {System.out.println("你输入的不是数字");return;}for(int temp=a;temp>0;){b=b*10+temp%10;temp/=10;}if(b!=a){judge=false;}System.out.println(judge);*/}}

今天还遇到一道很有意思的题:

public class A {public static void main(String[] args) {B b = new C();}}class B{static{System.out.println("1");}public B() {System.out.println("2");}}class C extends B{static{System.out.println("a");}public C() {System.out.println("b");}}

输出结果是什么呢?


变一下

public class A {public static void main(String[] args) {B b = new C();b=new C();}}
结果



再变一下

public class A {public static void main(String[] args) {B b = new C();b=new C();b=new C(110);}}class B{static{System.out.println("1");}public B() {System.out.println("2");}public B(int num){System.out.println(num+"1");}}class C extends B{static{System.out.println("a");}public C() {System.out.println("b");}public C(int num){System.out.println(num+"a");}}


结果



0 0
原创粉丝点击