目录
一、选择题模块
- 要使对象具有序列化能力,则其类实现的接口为:
import java.io.Serializable
- 属于面向对象编程的主要特征的是 (A.继承)
面向对象基本方法的基本概念有 对象、类和实例、消息、继承和多态性。
- 关于下列程序段的输出结果,说法正确的是:(B )
public class MyClass{ static int i; public static void main(String argv[]){ System.out.println(i); } }
- 在基本JAVA类型中,如果不明确指定,整数型的默认是 int 类型,浮点数的默认是 double 类型。
- 方法通常存储在进程的 方法区。
- 不考虑反射,关于私有访问控制符 private 修饰的成员变量,以下说法正确的是(C) A 可以三种类所引用:该类自身、与它在同一包中的其他类,在其他包中的该类的子类 B 可以被两种类访问和引用:该类本身、该类的所有子类 C 只能被该类自身所访问和修改 D 只能被同一个包中的类访问
- 如下:(C)
由代码看出 ,method2属于static关键词修饰的静态方法,之前学习了解过 static修饰的变量和方法可以通过类名直接调用,而非静态的变量或方法无法通过类名直接调用。
-
此题的考察的知识点就是: static不能定义局部变量 所以选D.编译失败
-
二、编程题模块
1.组队竞赛
组队竞赛![]() |
牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。
例如:
一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3
一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3
一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2
为了让比赛更有看点,牛牛想安排队伍使所有队伍的水平值总和最大。
如样例所示:
如果牛牛把6个队员划分到两个队伍
如果方案为:
team1:{1,2,5}, team2:{5,5,8}, 这时候水平值总和为7.
而如果方案为:
team1:{2,5,8}, team2:{1,5,5}, 这时候水平值总和为10.
没有比总和为10更大的方案,所以输出10.
题目分析
最终代码
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[] arr = new int[3*n];
long sum = 0;
for(int i =0; i<n*3 ;i++){
arr[i] = scan.nextInt();
}
Arrays.sort(arr);
for(int i= 0;i<n;i++){
//解题公式
sum += arr[arr.length - 2*(i+1)];
}
System.out.println(sum);
}
}
2.删除公共字符
删除公共字符串![]() |
题目分析
最终代码
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str1 = scan.nextLine();
String str2 = scan.nextLine();
HashMap<Character,Integer> map = new HashMap<>();
//遍历 str2
for(int i= 0 ; i< str2.length();i++){
//map属于引用类型 所以要与null对等
if(map.get(str2.charAt(i)) == null){
map.put(str2.charAt(i),1);
} else {
map.put(str2.charAt(i),map.get(str2.charAt(i)+1));
}
}
//遍历 str1
String ret = "";
for(int i= 0 ; i< str1.length();i++){
//map属于引用类型 所以要与null对等
if(map.get(str1.charAt(i)) == null){
ret += str1.charAt(i);
}
}
System.out.println(ret);
}
}
3.排序子序列
排序子序列![]() |
题目分析
最终代码
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] arr = new int[n+1];
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
int flag = 0;
int count = 1;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[i-1]){
if (flag == 0){
flag=1;
}
if (flag == -1){
flag=0;
count++;
}
}else if (arr[i] < arr[i-1]){
if (flag == 0){
flag=-1;
}
if (flag == 1){
flag=0;
count++;
}
}
}
System.out.print(count);
}
}
4.倒置字符串
倒置字符串![]() |
题目分析
最终代码
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextLine()){
String str = scanner.nextLine();
String ch = "";
String[] arr = str.split(" ");
for (int i = arr.length - 1; i >= 0 ; i--) {
ch += arr[i]+" ";
}
System.out.println(ch);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119542.html