JAVA面试题求大神帮忙,给满分100分

JAVA面试题求大神帮忙,给满分100分,第1张

1: D | javac 命令编译指定类和该类依赖的类。编译后的文件为二进制文件class

2:C

3:B

4:C | IOException,runtimeException 编译时不要求强行处理,只在运行期发生。IOException编译时强行要求处理,继承自Exception

5:B | Set无序队列,用get(index)游标无法获取

6:C

7:A | 不使用关键字相当于default

8:D | 二进制算法 11为 111 | 10 = 111(只要有一个是1就是1) 也就是11

9: C | ''表示字节char。"/u0020" 是Unico的空格编码

10:B

1、    public static Object[] arraySubtract(Object[] array1, Object[] array2) {

        ArrayList<Object> list = new ArrayList<Object>();

        //选出属于数组1但不属于数组2的元素

        for(int i = 0; i < array1length; ++i) {

            boolean bContained = false;

            for(int j = 0; j < array2length; ++j) {

                if (array1[i]equals(array2[j])) {

                    bContained = true;

                    break;

                }

            }

            if (!bContained) {

                listadd(array1[i]);

            }

        }

         

        Object res[] = new Object[listsize()];

        for(int i = 0; i < listsize(); ++i)

            res[i] = listget(i);

        return res;

    }

    

2、

    int count(int n)

    {

        int result = 0;

        for (int i = 1; i < n; i++)

        {

            result += i;

        }

        return result;

    }

3、select  from A where name in (select name from A group by name having count(name) > 1)

这个是类的初始化顺序问题

1、类只有在使用New调用创建的时候才会被JAVA类装载器装入

2、JAVA类首次装入时,会对静态成员变量或方法进行一次初始化,但方法不被调用是不会执行的,静态成员变量和静态初始化块级别相同,非静态成员变量和非静态初始化块级别相同。

先初始化父类的静态代码--->初始化子类的静态代码-->

初始化父类的非静态代码--->初始化父类构造函数--->

初始化子类非静态代码--->初始化子类构造函数

3、创建类实例时,首先按照父子继承关系进行初始化

4、类实例创建时候,首先初始化块部分先执行,然后是构造方法;然后从

本类继承的子类的初始化块执行,最后是子类的构造方法

上例中类A类B都有静态代码static

从main函数开始:

Systemoutprintln(" ");

输出空格

A ab = new B();

声明为类A但初始化为类B

因为编译器是从左向右进行的,所以先是A ab;

执行Systemoutprint("1"); 因为没有new A();

所以不执行类A的构造函数那为什么会输出2呢

是因为B类是继承A类的,所是在执行new B();

的时候,执行顺序是初始化Systemoutprint("a");

然后先父类后子类,static代码只执行一次(已执行过);

执行Systemoutprint("2");

执行Systemoutprint("b");

执行Systemoutprintln(" ");

之后是ab = new B(); A,B中的static都已被执行过,

所以只执行构造函数,因B类有父类A,所以先执行A 类的构

造函数Systemoutprint("2");

再执行B类的构造函数

Systemoutprint("b");

完成了,代码如下,你自己运行一下,看下结果是否正确:

import javautilRandom;

public class Test

{

static int[] temp = new int[100];

public static void generateRandom() //生成随机数

{

for(int i=0;i<100;i++)

temp[i] = i+1;

Random r = new Random();

int del = rnextInt(100);

for(int i=del;i<99;i++)

temp[i] = temp[i+1];

for(int i=0;i<99;i++)

{

int r1 = rnextInt(99);

int r2 = rnextInt(99);

if(r1 == r2) continue;

temp[r1] += temp[r2];

temp[r2] = temp[r1] - temp[r2];

temp[r1] = temp[r1] - temp[r2];

}

Systemoutprintln("数组中的数据如下:");

for(int i=0;i<99;i++)

Systemoutprint(temp[i] + " ");

Systemoutprintln();

}

public static void main(String[] args)

{

generateRandom();

int sum1 = 0 , sum2 = 0;

for(int i=1;i<=100;i++)

sum1 += i;

for(int i=0;i<99;i++)

sum2 += temp[i];

Systemoutprintln("数组中缺少的是那个自然数是" + (sum1 - sum2));

}

}

public static void main(String[] args) {

Scanner input = new Scanner(Systemin);

Systemoutprintln("是否是会员?y/n");

String H = inputnext();

Systemoutprintln("请输入入住日期:");

Systemoutprintln("例如2009-03-16");

String in = inputnext();

Systemoutprintln("请输离开日期:");

Systemoutprintln("例如2009-03-16");

String out = inputnext();

//String in = ssubstring(5,15);

//String out = ssubstring(15,26);

//Systemoutprintln(in+" "+out);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Calendar c1 = CalendargetInstance();

Calendar c2 = CalendargetInstance();

try {

c1setTime(sdfparse(in));

c2setTime(sdfparse(out));

} catch (ParseException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

long time1 = c1getTimeInMillis();

long time2 = c2getTimeInMillis();

long tian = (time2-time1)/(1000243600);

long tian1 = tian;

Systemoutprintln("tian "+tian);

int week1 = c1get(CalendarDAY_OF_WEEK)-1;

//Systemoutprintln(week1);

//int week2 = c2get(CalendarDAY_OF_WEEK)-1;

//Systemoutprintln(week2);

int count = 0;

while(tian1>0){

if(week1 == 6 || week1==0){

count++;

}

if(week1==6){

week1 = 0;

week1--;

}

tian1--;

week1++;

}

Systemoutprintln("count "+count);

long rujia;

long qitian;

long hanting;

if(Hequals("y")){

rujia = (tian-count)80+count80;

Systemoutprintln("tian "+tian);

qitian = (tian-count)110+count50;

hanting = (tian-count)100+count40;

}else{

rujia = (tian-count)110+count90;

qitian = (tian-count)160+count60;

hanting = (tian-count)220+count150;

}

Systemoutprintln("tian " + tian);

Systemoutprintln("rujia "+rujia);

Systemoutprintln("hanting "+hanting);

Systemoutprintln("qitian "+qitian);

if(rujia<qitian && rujia<hanting){

Systemoutprintln("如家");

}else if(qitian<rujia && qitian<hanting){

Systemoutprintln("七天");

}else if(hanting<rujia && hanting<qitian){

Systemoutprintln("汉庭");

}else if(hanting==rujia || hanting==qitian){

Systemoutprintln("汉庭");

}else if(qitian==rujia && qitian<hanting){

Systemoutprintln("七天");

}

}

我没怎么测试 自己测测吧 还有一些约束用户输入啥的 严谨性什么的

1。JVM配置能承受多少就多少

2,

StringTokenizer token=new StringTokenizer(src,",") ;

StringBuffer ok=new StringBuffer();

StringBuffer no=new StringBuffer();

while(tokenhasMoreTokens()){

String temp=nextToken();

try{

FloatparseFloat(temp);

}catch(Exception e){

onappend(temp)append(",");

}

okappend(temp)append(",");

}

on就是不能转换的数据; ok就是能转换的数据

3。

import javaio;

import javautil;

class PathFileCount{

private Map<String,Integer> mapType=new HashMap<String,Integer>();

public PathFileCount(){

}

public void count(String path){

try{

File file=new File(path);

if(!fileexists()) return ;

if(fileisFile()) {

//Systemoutprintln(filegetName());

String[] name=filegetName()split("\\");

String lastName=name[namelength-1];

if(mapTypecontainsKey(lastName)) mapTypeput(lastName,mapTypeget(lastName)+1);

else mapTypeput(lastName,1);

}//if(fileisFile())

else{

File[] list=filelistFiles();

for(int i=0;i<listlength;i++){

//Systemoutprintln(list[i]getPath());

count(list[i]getPath());

}//for

}//else

}catch(Exception e){

}//catch

}//method

public void print(){

for(String lastName:mapTypekeySet()){

Systemoutprintln(lastName+" "+mapTypeget(lastName));

}

}//method

public void sort(int tag){

ArrayList keys = new ArrayList(mapTypekeySet());//得到key集合

Collectionssort(keys,new Comparator<Object>(){

public int compare(Object o1,Object o2){

if(mapTypeget(o1)intValue()<mapTypeget(o2)intValue())

return 1;

if(mapTypeget(o1)intValue()==mapTypeget(o2)intValue())

return 0;

else

return -1;

}

}

);

}

static public void main(String[] str){

PathFileCount p=new PathFileCount();

pcount("/opt/");

psort(0);

pprint();

}

}//class

4。weblogic81默认JDK40 不支持 for(String a:list)

5。同一代码区域不超过2层。

if()内尽量不使用 A>b==false

以上就是关于JAVA面试题求大神帮忙,给满分100分全部的内容,包括:JAVA面试题求大神帮忙,给满分100分、JAVA面试题、JAVA面试题如下:等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9970108.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存