面试编程题(一)

原创 2016年08月28日 19:05:36

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

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");
	}
}


结果



版权声明:本文为博主原创文章,未经博主允许不得转载。

名企招聘经典面试编程题集锦[第1-10题]

声明:所有试题均来自网络。解答仅作参考,如对解答有疑问,或者有更好的解法,欢迎留言交流。 1、二叉树的深度 输入一棵二叉树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点) 形成树...
  • Jocodeoe
  • Jocodeoe
  • 2013年02月28日 16:43
  • 2447

经典笔试编程题--Java实现

1.输入一个正数n,输出所有和为n的连续正数序列。 分析:设定两个指针,min指向和为n的连续正数序列的最小值,max指向和为n的连续正数序列最大值。sum表示真正的和。 初始情况下,min、ma...
  • hqm12345qw
  • hqm12345qw
  • 2016年08月08日 18:05
  • 25800

面试中常考的现场写程序题目

在面试中面试官常常让我们写几个小的程序,以此来考察我们的编程内功。所以在准备面试的过程中在纸上练习着写一些程序是很有必要的。 下面是在面试中常考的几个题,出现频率非常之高!!!! 1、完整正确的写出二...
  • bcypxl
  • bcypxl
  • 2013年10月04日 15:02
  • 3387

J剑指Offer-面试精讲典型编程题--何海涛_扫描版[带完整书签目录]

  • 2017年11月14日 23:14
  • 40.25MB
  • 下载

剑指offer 名企面试官精讲典型编程题

  • 2017年12月26日 10:30
  • 41.63MB
  • 下载

剑指Offer 名企面试官精讲典型编程题清晰PDF

  • 2017年09月21日 10:35
  • 22.85MB
  • 下载

剑指offer 名企面试官精讲典型编程题

  • 2014年12月20日 12:13
  • 21.51MB
  • 下载

剑指offer 名企面试官精讲典型编程题

  • 2015年02月28日 22:52
  • 23.59MB
  • 下载

剑指offer面试编程题

  • 2014年06月23日 23:17
  • 21.43MB
  • 下载

剑指offer 名企面试官精讲典型编程题源代码

  • 2014年05月28日 14:33
  • 11.6MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面试编程题(一)
举报原因:
原因补充:

(最多只允许输入30个字)