itgle.com

以下代码有问题,下列说法正确的是()。代码如下:public A{public void method(){} (1)public string method(){} (2)public string method(int a){} (3)}A、(1)和(2)删掉一个,错误解决B、(3)删掉,错误解决C、没问题

题目
以下代码有问题,下列说法正确的是()。代码如下:public A{public void method(){} (1)public string method(){} (2)public string method(int a){} (3)}

A、(1)和(2)删掉一个,错误解决

B、(3)删掉,错误解决

C、没问题


相似考题
更多“以下代码有问题,下列说法正确的是()。代码如下:public A{public void method(){} (1)public string method(){} (2)public string method(int a){} (3)} A、(1)和(2)删掉一个,错误解决B、(3)删掉,错误解决C、没问题”相关问题
  • 第1题:

    下列程序中,要求计算1+2+3+…+100的值,并显示计算结果。请将程序补充完整。

    程序运行结果如下:

    5050

    public class ex6_1{

    public static void main(Stringr)args){

    ex6_1 obj6_1:new ex6_1();

    obj6_1.method6_1();

    }

    public void method6_1(){

    int sum;

    ___________;

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

    ___________;

    }

    ___________;

    }

    }


    正确答案:sum=0 sum + =i或者sum = sum+i System.out.println(sum)
    sum=0 sum + =i或者sum = sum+i System.out.println(sum) 解析:本题主要考查整型变量的初始化、累加和输出操作,以及for循环语句用法。解题关键是熟悉整型变量的基本操作,熟悉并能利用for循环语句解决一些简单的数学问题。本题中,第1个空,需要对变量sum进行初始化,否则以后进行累加时会产生错误;第2个空,填入累加的表达式;第3个空,调用基本I/O方法将运算结果显示出来。

  • 第2题:

    下列程序中,给出两个整数2和3,分别求2除以3和2乘以3的结果,要求调用类ex19_1的方法method()来输出相应的结果,请将程序补充完整。程序运行结果如下。

    0.6666666666666666

    6

    源程序文件代码清单如下:

    public class exl9 1

    {

    public static void main(String args[])

    {

    int n1=2,n2=3;

    ex19_1 obj19_1=new ex19_1();

    obj19_1.

    }

    public void method(int x,int y)

    {

    System.out.println(______);

    System.out.println(______);

    }

    }


    正确答案:method(n1n2) (double)x/y x*y
    method(n1,n2) (double)x/y x*y 解析:本题主要考查Java语言的数据类型和结构以及不同数据类型之间的转换,和对象调用方法以及基本的运算操作。解题关键是熟悉 Java语言的基本数据类型和类型之间的转换,用类的对象来调用方法,以及熟悉Java语言的基本运算。在本题中,第1空通过类ex19_1的对象obj19_1调用类ex19_1的方法 method(),将变量n1和n2作为参数传递给方法。第2空由于x、y都是int型,则x/y的结果为0.666…,这会转换为int型,其值为0。所以要对数据进行类型转换,将x转换为 double型则y也转换为double型,因此结果为 double型,值为0.666…。第3空无须做类型转换,直接输出x*y的值6即可。

  • 第3题:

    阅读下列代码段,选出该代码段的正确的文件名( )。 class A { void method () { System.out.println ("methodl in class A"); } } public class B { void method2 () { System.out.println("method2 in class B"); } public static void main (String args[]) { System.out.println ("main () in class B"); } }

    A.A.java

    B.A.class

    C.B.class

    D.B.java


    正确答案:D
    解析:Java源文件以.java为后缀,Java字节码文件以.class为后缀。Java源文件中只有一个public的类,该类的名字为源文件名,这里类B是以public修饰的,因此源文件名为B.java。

  • 第4题:

    阅读下列代码段,选出该代码段的正确的文件名 ( )class A{ void methodl(){ System.out.println("methodl in class A"); }}public class B{ void method2(){ System.out.println("method2 in class B"); } public static void main(String args[]){ System.out.println("main()in class B"); }}

    A.A.java

    B.A.class

    C.B.class

    D.B.java


    正确答案:D
    解析:该题考查文件的命名问题。源代码的文件名必须同工友类的名字相同,且必须以.java作为扩展名,注意文件名的大小写要一致。本题中,首先应该找main,它是在 class B中,所以文件名应为B.java。选项D正确。

  • 第5题:

    下列程序中,给出两个整数2和3,分别求2除以3和2乘以3的结果,要求调用类ex1_1的方法method()来输出相应的结果,请将程序补充完整。程序运行结果如下:

    0.6666666666666666

    6

    public class ex1_1{

    public static void main(String[]args) {

    int n1=2,n2=3;

    ex1_1 obj1_1=new ex1_1();

    obj1_1. ______;

    }

    public void method(int x,int y){

    System.out.println(______);

    System.out.println(______);

    }

    }


    正确答案:method(n1n2) (double)x/y X*y
    method(n1,n2) (double)x/y X*y 解析:本题主要考查Java语言的数据类型和结构以及不同数据类型之间的转换,和对象调用方法以及基本的运算操作。解题关键是熟悉Java语言的基本数据类型和类型之间的转换,用类的对象来调用方法,以及熟悉Java语言的基本运算。在本题中,第一空通过类ex1_1的对象obj1_1调用类ex1_1的方法method(),将变量n1和n2作为参数传递给方法。第二空由于x, y都是int,则x/y的结果为0.666....,这会转换为int,其值为0。所以要对数据进行类型转换,将x转换为double型则y也转换为double型,因此结果为double,值为0.666...。第三空无需做类型转换,直接输出x*y的值6即可。

  • 第6题:

    下列程序的运行结果为______。 class A { int b=0; } public class ex35 public static void main(String args[]) { ex35 t=new ex35(); t.method(); } void method() { A A1=new A(); A A2=new A(); A1,b=A2.b=12; boolean b=A1.equals(A2); Syatem.out.println(b); } }

    A.true

    B.false

    C.0

    D.1


    正确答案:B

  • 第7题:

    设有程序如下: abstract class absclass { abstract void method1(); } class conclass extends absclass { public void method1() { System.out.println("子类");} } public class mainclass { public static void main(String args[]) { absclass ac1=new absclass(); //语句1 absclass ac2=new conclass(); //语句2 ac2.method1(); //语句3 } } 则main()方法中的第一条语句(即语句1)可以顺利通过编译。()

    此题为判断题(对,错)。


    答案:错

  • 第8题:

    A programmer needs to create a logging method that can accept an arbitrary number of arguments.Forexample,it may be called in these ways: logIt("log message 1"); logIt("log message 2”,”log message 3"); logIt("log message 4","log message 5","log message 6"); Which declaration satisfies this requirement()?

    • A、public void logIt(String*msgs)
    • B、public void logIt(String[]msgs)
    • C、public void logIt(String...msgs)
    • D、public voidl ogIt(Stringmsg1,Stringmsg2,Stringmsg3)

    正确答案:C

  • 第9题:

    A programmer needs to create a logging method that can accept an arbitrary number of arguments. For example, it may be called in these ways:  logIt(”log message 1 “);  logIt(”log message2”,”log message3”);  logIt(”log message4”, “log message5”, “log message6);  Which declaration satisfies this requirement?()

    • A、 public void logIt(String * msgs)
    • B、 public void logIt(String [] msgs)
    • C、 public void logIt(String... msgs)
    • D、 public void logIt(String msg1, String msg2, String msg3)

    正确答案:C

  • 第10题:

    public class TestFive {  private int x;  public void foo() {  int current = x;  x = current + 1;  }  public void go() {  for(int i=0;i<5;i++) {  new Thread() {  public void run() {  foo();  System.out.print(x + “, “);  } }.start();  }}}  Which two changes, taken together, would guarantee the output: 1, 2, 3, 4, 5, ?()

    • A、 Move the line 12 print statement into the foo() method.
    • B、 Change line 7 to public synchronized void go() {.
    • C、 Change the variable declaration on line 3 to private volatile int x;.
    • D、 Wrap the code inside the foo() method with a synchronized( this ) block.
    • E、 Wrap the for loop code inside the go() method with a synchronized block synchronized(this) { // for loop code here }.

    正确答案:A,D

  • 第11题:

    多选题
    1) class Person { 2) public void printValue(int i, int j) {/*…*/ }    3) public void printValue(int i){/*...*/ }    4) } 5) public class Teacher extends Person {    6) public void printValue() {/*...*/ }    7) public void printValue(int i) {/*...*/}    8) public static void main(String args[]){    9) Person t = new Teacher();    10) t.printValue(10);   11) }    12) } Which method will the statement on line 10 call?()
    A

    on line 2

    B

    on line 3

    C

    on line 6

    D

    on line 7


    正确答案: C,A
    解析: 变量t是一个Person对象,但是它是用Teacher实例化的,这个问题涉及到java的编译时多态和运行时多态的问题,就编译时多态来说,t实际上是一个Person类,这涉及到类型的自动转换(将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换,反之则需要 进行强制类型转换,而且被赋值的变量实际上应该是一个子类的对象),如果对t调用了子类中新增的方法则造成编译时错误编译将不能通过,而在运行时,运行时系统将根据t实际 指向的类型调用对应的方法,对于本例来说,t.print(10)将调用t实际指向的Teacher类的对应方法。在java中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一个父类实例,在运行时可能是一个子类实例。

  • 第12题:

    单选题
    A programmer needs to create a logging method that can accept an arbitrary number of arguments. For example, it may be called in these ways:  logIt(”log message 1 “);  logIt(”log message2”,”log message3”);  logIt(”log message4”, “log message5”, “log message6);  Which declaration satisfies this requirement?()
    A

     public void logIt(String * msgs)

    B

     public void logIt(String [] msgs)

    C

     public void logIt(String... msgs)

    D

     public void logIt(String msg1, String msg2, String msg3)


    正确答案: A
    解析: 暂无解析

  • 第13题:

    A programmer needs to create a logging method that can accept an arbitrary number of arguments.Forexample,it may be called in these ways:logIt("log message 1");logIt("log message 2”,”log message 3");logIt("log message 4","log message 5","log message 6");Which declaration satisfies this requirement()?

    A.public void logIt(String*msgs)

    B.public void logIt(String[]msgs)

    C.public void logIt(String...msgs)

    D.public voidl ogIt(Stringmsg1,Stringmsg2,Stringmsg3)


    参考答案:C

  • 第14题:

    类Test定义如下,将下列______方法插入③行处是不合法的。 ( )①public class Test{②public float Method(float a,float b){}③④}

    A.public float Method(float a,float b,float c){}

    B.public float Method(float c,float d){}

    C.public int Method(int a,int b){}

    D.private float Method(int a,int b,int c){}


    正确答案:B
    解析:该题考查的方法重载。在 Java程序中可以在同一个类中定义多个名称相同的方法,然而这些方法的参数数量和类型却不完全相同,这种现象被成为方法重载。在本题中,选项A是正确的,虽然它的参数的类型和第二行的参数类型相同,但是它的参数数量是不同的;选项B不正确,它的参数类型和参数数量都和第二行的相同;选项C正确,它的参数类型和第二行的参数类型不同;选项D也正确,它的参数类型和数量都不和第二行的相同。

  • 第15题:

    2下列程序的执行结果是( )。 public class ex68 { public static void main(String[] args) { ex68 bj=new ex680; int s=0; for(int i=1; i<=4; i++){ s+=obj.method(i); } System.out.println(s); } public int method(int n) { if(n==1) return 1; else tatum n * method(n-1); } }

    A.3

    B.9

    C.33

    D.153


    正确答案:C

  • 第16题:

    下列程序的执行结果是 ( ) public class ex68{ public static void main(String[]args){ ex68 obj=new ex68(); int s=0; for(int i=1;i<=4;i++){ s+=obj.method(i); } System.out.println(s); } public int method(int n){ if(n==1) return 1; else return n*method(n-1); } }

    A.3

    B.9

    C.33

    D.153


    正确答案:C
    解析:该题考查的是递归调用。在Java中允许方法的递归调用,即允许方法调用自身。当算阶乘的时候最多的是用到递归调用,本题算的是从1到4的递归的和。

  • 第17题:

    类Test定义如下,将下列哪个方法插入③行处是不合法的( )?

    ① public class Test{

    ② public float Method(float a,float B) { }

    ③ ______

    ④ }

    A.public float Method(float a,float b,float C) { }

    B.public float Method(float c,float d){ }

    C.public int Method(int a,int B) { }private float Method(int a,int b,int C) { }

    D.private float Method(int a,int b,int C) { }


    正确答案:B
    解析:本题主要考查方法重载,方法的重载是指多个方法可以享有相同的名字,但参数的数量或类型必须不相同(采用不同的形式参数列表),选项B不符合方法重载的要求。

  • 第18题:

    以下程序的输出结果为:

    public class test {

    public static void main(String args[]) {

    int s=0;

    for (int k=0;k<=10;k++)

    s+=method(2,k)-1;

    System.out.println(s);

    }

    public static int method(int n,int m) {

    if (m==0)

    return 1;

    else

    return n*method(n,m-1、;

    }

    }

    A. 2048

    B. 1024

    C. 2036

    D.2000


    正确答案:C

  • 第19题:

    阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。
    【说明】
    生成器( Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。图 6-1 所示为其类图。



    阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。

    【说明】

    ???? 生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。图5-1所示为其类图。

    ?

    【C++代码】

    #include

    #include

    using namespace std;
    class Product {
    private:?
    string partA, partB;
    public:?
    Product() {?? }? ?
    void setPartA(const string& s) { PartA = s;}
    ???? void setPartB(const string& s) { PartB
    = s;}? ?
    //? 其余代码省略
    };
    class Builder {
    public:? ? ??
    (1)??
    ;?
    virtual void buildPartB()=0;? ? ?
    (2)??
    ;
    };
    class ConcreteBuilder1 : public Builder {
    private:?
    Product*?? product;
    public:
    ConcreteBuilder1() {product = new Product();???? }
    void buildPartA() {????? (3)???? ("Component
    A"); }?
    void buildPartB() {????? (4)???? ("Component
    B"); }??
    Product* getResult() { return product; }
    //? 其余代码省略
    };
    class ConcreteBuilder2 : public Builder {? ??? ? ? ?
    /*??? 代码省略??? */
    };
    class Director {
    private:? ??
    Builder* builder;
    public:??
    Director(Builder* pBuilder) { builder= pBuilder;}? ??
    void construct() {
    ????????????????? (5)???? ;
    ?????????????? //? 其余代码省略? ?
    }??
    //? 其余代码省略
    };
    int main() {? ? ??
    Director* director1 = new Director(new ConcreteBuilder1());? ?
    director1->construct();? ? ??
    delete director1;? ? ?
    return 0;
    【Java代码】
    import jav(6)A.util.*;
    class Product {? ? ? ?
    private String partA;? ? ? ?
    private String partB;? ? ? ??
    public Product() {}? ? ??
    public void setPartA(String s) { partA = s; }? ? ? ?
    public void setPartB(String s) { partB = s; }
    }
    interface Builder {? ?
    public?????? (1)???? ;? ??
    public void buildPartB();? ? ??
    public?????? (2)???? ;
    }
    class ConcreteBuilder1 implements Builder {? ? ? ?
    private Product product;? ? ? ?
    public ConcreteBuilder1() { product = new Product();?? }? ? ? ??
    public void buildPartA() {????????
    (3)??
    ("Component A"); }
    public void buildPartB() {???? ????(4)?? ("Component B"); }? ? ??
    public Product getResult() { return product;}
    }
    class ConcreteBuilder2 implements Builder {?? ? ? ? ?
    //? 代码省略
    }
    class Director {? ? ? ?
    private Builder builder;? ? ? ?
    public Director(Builder builder) {this.builder = builder; }
    public void construct() {
    ? ? ? ? ? ? ? ? ? (5)???? ;
    ? ? ? ? ? ? ? //? 代码省略? ? ??
    }
    }
    class Test {? ? ??
    public static void main(String[] args) {
    ???????????????? Director director1 = new
    Director(new ConcreteBuilder1());
    ???????????????? director1.construct();? ? ? ??
    }


    答案:
    解析:
    (1)void buildPart A()
    (2) Product getResult()
    (3)product.setPartA
    (4)product.setPartB
    (5)builder.buildPartA();
    builder.buildPartB();
    Product p=builder.getResult();

  • 第20题:

    对于下列代码: 1) class Person {   2} public void printValue(int i, int j) {//... }     3} public void printValue(int i){//... }    4} }   5) public class Teacher extends Person { 6} public void printValue( ) {//... }     7} public void printValue(int i) {//...}     8} public static void main(String args[]){     9} Person t = new Teacher( );     10} t.printValue(10);     11} } 第10行语句将调用哪行语句?()

    • A、 line 2
    • B、 line 3
    • C、 line 6
    • D、 line 7

    正确答案:D

  • 第21题:

    1) class Person {  2) public void printValue(int i, int j) {/*…*/ }     3) public void printValue(int i){/*...*/ }     4) }  5) public class Teacher extends Person {     6) public void printValue() {/*...*/ }     7) public void printValue(int i) {/*...*/}     8) public static void main(String args[]){     9) Person t = new Teacher();     10) t.printValue(10);     11) }    12) }  Which method will the statement on line 10 call? ()  

    • A、 on line 2
    • B、 on line 3
    • C、 on line 6
    • D、 on line 7

    正确答案:D

  • 第22题:

    单选题
    1) class Person {  2) public void printValue(int i, int j) {/*…*/ }     3) public void printValue(int i){/*...*/ }     4) }  5) public class Teacher extends Person {     6) public void printValue() {/*...*/ }     7) public void printValue(int i) {/*...*/}     8) public static void main(String args[]){     9) Person t = new Teacher();     10) t.printValue(10);     11) }    12) }  Which method will the statement on line 10 call? ()
    A

     on line 2

    B

     on line 3

    C

     on line 6

    D

     on line 7


    正确答案: D
    解析: 变量t是一个Person对象,但是它是用Teacher实例化的,这个问题涉及到java的编译时多态和运行时多态的问题,就编译时多态来说,t实际上是一个Person类,这涉及到类型的自动转换(将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换,反之则需要 
    进行强制类型转换,而且被赋值的变量实际上应该是一个子类的对象),如果对t调用了子类中新增的方法则造成编译时错误编译将不能通过,而在运行时,运行时系统将根据t实际指向的类型调用对应的方法,对于本例来说,t.print(10)将调用t实际指向的Teacher类的对应方法。在java中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一个父类实例,在运行时可能是一个子类实例。

  • 第23题:

    多选题
    public class TestFive {  private int x;  public void foo() {  int current = x;  x = current + 1;  }  public void go() {  for(int i=0;i<5;i++) {  new Thread() {  public void run() {  foo();  System.out.print(x + “, “);  } }.start();  }}}  Which two changes, taken together, would guarantee the output: 1, 2, 3, 4, 5, ?()
    A

    Move the line 12 print statement into the foo() method.

    B

    Change line 7 to public synchronized void go() {.

    C

    Change the variable declaration on line 3 to private volatile int x;.

    D

    Wrap the code inside the foo() method with a synchronized( this ) block.

    E

    Wrap the for loop code inside the go() method with a synchronized block synchronized(this) { // for loop code here }.


    正确答案: D,A
    解析: 暂无解析