目录
目录
5.下列Java代码中的变量a、b、c分别在内存的_C__存储区存放。
9. 在jdk1.5之后,下列 java 程序输出结果为__B__。
选择题模块
1.下面程序的输出为(D)
String x="fmn";x.toUpperCase();String y=x.replace('f','F');y=y+"wxy";System.out.println(y);
2.关于 JAVA 堆,下面说法错误的是(D)
3.有关下述Java代码描述正确的选项是_F_。
public class TestClass {
private static void testMethod(){
System.out.println("testMethod");
}
public static void main(String[] args) {
((TestClass)null).testMethod();
}
}
4.下列java程序的输出结果为_B_。
public class Example{
String str=new String("hello");
char[]ch={'a','b'};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+" and ");
System.out.print(ex.ch);
}
public void change(String str,char ch[]){
str="test ok";
ch[0]='c';
}
}
5.下列Java代码中的变量a、b、c分别在内存的_C__存储区存放。
class A {
private String a = “aa”;
public boolean methodB() {
String b = “bb”;
final String c = “cc”;
}
}
6.以下声明合法的是(B)
A default String s
B public final static native int w( )
C abstract double d
D abstract final double hyperbolicCosine( )
A: default访问控制权限不用鞋出来
C:anstract不能修饰变量,是用来修饰方法的
D:final 与 abstract不能同时出现
7.下面代码的输出结果是什么(D)?
public class ZeroTest {
public static void main(String[] args) {
try{
int i = 100 / 0;
System.out.print(i);
}catch(Exception e){
System.out.print(1);
throw new RuntimeException();
}finally{
System.out.print(2);
}
System.out.print(3);
}
}
8.下面所示的java代码,运行时,会产生(D)类型的异常
int Arry_a[] = new int[10];
System.out.println(Arry_a[10]);
因为new数组长度为10,数组下标最大只能到9,所以此题数组下标越界。
9. 在jdk1.5之后,下列 java 程序输出结果为__B__。
int i=0;
Integer j = new Integer(0);
System.out.println(i==j);
System.out.println(j.equals(i));
10.以下java程序代码,执行后的结果是(B)
public class Test {
public static void main(String[] args) {
Object o = new Object() {
public boolean equals(Object obj) {
return true;
}
};
System.out.println(o.equals("Fred"));
}
}
考察的知识点:多态、重载
首先,创建了一个匿名内部类,并将所创建的匿名对象赋给 Object (多态:子类对象赋给超类引用)。同时,该匿名内部类重写了 Object 类的 equals 方法,根 据多态及覆盖原则,会调用匿名内部类重写后的 equals 方法,所以选B。
编程题模块
1.另类加法
题目描述
题目分析
这道题题目要求不能使用+或其他算术运算符,那么我们就要在 ^ & >> << 这些符号上下文章了。
代码实现
import java.util.*;
public class UnusualAdd {
public int addAB(int A, int B) {
// write code here
if (B == 0) {
return A;
} else {
return addAB(A ^ B, (A & B) << 1);
}
}
}
2.走方格的方案数
题目描述
题目分析
代码实现
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int m = sc.nextInt();
System.out.println(med(n, m));
}
}
public static int med(int n, int m){
if((n == 1 && m >= 1) || (m == 1 &&n >= 1)){
return m + n;
}
return med(n - 1, m) + med(n, m - 1);
}
}
3.井字棋
题目描述
题目分析
代码实现
import java.util.*;
public class Board {
public boolean checkWon(int[][] board) {
// write code here
if(board[0][0]+board[1][1]+board[2][2]==3||board[0][2]+board[1][1]+board[2][0]==3) {
return true;
}
for(int i=0;i<3;i++) {
if(board[i][0]+board[i][1]+board[i][2]==3||board[0][i]+board[1][i]+board[2][i]==3){
return true;
}
}
return false;
}
}
4.密码强度等级
题目描述
题目分析
这道题目代码就会有些多,因为条件多,只要按照条件,理清思路,这道题还是简单的。这道题大家直接看代码。
代码实现
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static int Psd(String psd) {
int score = 0;
if (psd.length() >= 8) {
score += 25;
} else if (psd.length() >= 5 && psd.length() <= 7) {
score += 10;
} else if (psd.length() <= 4) {
score += 5;
}
//字母
char[] ch = new char[psd.length()];
for (int i = 0; i < psd.length(); i++) {
ch[i] = psd.charAt(i);
}
int flagUp = 0, flagLow = 0;
for (int i = 0; i < ch.length; i++) {
if (ch[i] >= 65 && ch[i] <= 90) {
flagUp++;
}
if (ch[i] >= 97 && ch[i] <= 122) {
flagLow++;
}
}
if ((flagUp > 0 && flagLow == 0) || (flagUp == 0 && flagLow > 0)) {
score += 10;
} else if (flagUp >= 1 && flagLow >= 1) {
score += 20;
}
//数字
int flagNum = 0;
for (int j = 0; j < ch.length; j++) {
if (ch[j] >= 48 && ch[j] <= 57) {
flagNum++;
}
}
if (flagNum == 1) {
score += 10;
} else if (flagNum > 1) {
score += 20;
}
//符号
int flagSym = 0;
String newPassword = psd.replaceAll("[A-Za-z\\d]", "");
flagSym = newPassword.length();
if (flagSym > 1) {
score += 25; // 符号大于一个
} else if (flagSym == 1) {
score += 10; // 符号等于一个
} // 没有符号
//奖励
if (flagLow > 0 && flagUp > 0 && flagNum > 0 && flagSym > 0) {
score += 5;
} else if (flagLow + flagUp > 0 && flagNum > 0 && flagSym > 0) {
score += 3;
} else if (flagLow + flagUp > 0 && flagNum > 0) {
score += 2;
}
return score;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String psd = scanner.nextLine();
int score = Psd(psd);
//输出
//VERY_SECURE
//SECURE
//VERY_STRONG
//STRONG
//AVERAGE
//WEAK
if (score >= 90) {
System.out.println("VERY_SECURE");
} else if (score >= 80) {
System.out.println("SECURE");
} else if (score >= 70) {
System.out.println("VERY_STRONG");
} else if (score >= 60) {
System.out.println("STRONG");
} else if (score >= 50) {
System.out.println("AVERAGE");
} else if (score >= 25) {
System.out.println("WEAK");
} else if (score >= 0 ) {
System.out.println("VERY_WEAK");
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119535.html