1.阅读如下代码,请问对语句行test.hello(). 描述正确的有()
package NowCoder;
class Test{
publi static void hello(){
System.out.println("hello");
}
}
public class MyApplication{
public static void main(String[] args){
//TODO Auot-generated method stub
Test test = null;
test.hello();
}
}
答:能编译通过
2.如下代码的结果是什么?
class A{
A(){
System.out.println("AAA");
}
}
public class TestDay02_2 extends A{
public static void main(String[] args) {
new A();
new TestDay02_2();
}
}
答:AAA
AAA(系统会默认先调用父类的无参构造方法)
3.如下代码输出结果是什么?
/**
* 编译错误,此时声明一个静态变量a不能在方法体内声明
* 全局变量分为静态变量和成员变量都是在类中,方法体外,静态变量使用static修饰
* 局部变量在方法体内声明
*/
public class TestDay02_3 {
public int aMethod(){
static int a = 0;//静态变量不能在方法体内声明
a++;
return a;
}
public static void main(String[] args) {
TestDay02_3 test = new TestDay02_3();
test.aMethod();
}
}
答:编译失败
7.下列哪一种叙述是正确的()?
A:abstract 修饰符可以修饰字段、方法、类
B:抽象方法的body部分必须用一对大括号{}包住
C:声明抽象方法,大括号可有可无
D:声明抽象方法不可以写出大括号
答案:D
编程题1:
import java.util.Scanner;
/**
* 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。
* 小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,
* 方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。
* 然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。
* 如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
*
*/
public class TestDay02_04{
public static int drink(int n){//n为你当前拥有的饮料数
int total = 0;//可以喝的瓶数
//当n > 2的时候才能换饮料
while(n > 2){
total = total + n / 3; //喝的饮料数
n = n / 3 + n % 3;//剩下的饮料数
}
if(n == 2){
total = total + 1;
}
return total;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n;
while(scanner.hasNext()){
n = scanner.nextInt();
System.out.println(drink(n));
}
}
}