安卓开发及安全交流QQ群:838650234,感兴趣的可以加群。
最近刷题甚是痛苦,一方面进入实验室只能把零碎时间刷题;另一个方面感觉自己心浮气躁、通过率不高且静不下心来。
2072题:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc_01 = new Scanner(System.in);
while (sc_01.hasNext()) {
String strings_01 = sc_01.nextLine();
//判断有没有#
boolean flag = false;
if (strings_01.contains("#")) {
flag = true;
}
if (flag == true) break;
//进行正常判断
int test_result = checkZimu(strings_01);
System.out.println(test_result);
}
}
private static int checkZimu(String strings_01) {
String[] words = strings_01.split(" ");
ArrayList<String> arrayList_01 = new ArrayList<String>();
for (int i = 0; i < words.length; i++) {
if (!arrayList_01.contains(words[i])) {
arrayList_01.add(words[i]);
}
}
if(arrayList_01.contains("")){
return arrayList_01.size()-1;
}else{
return arrayList_01.size();
}
}
}
2081题:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc_01 = new Scanner(System.in);
int line_num = sc_01.nextInt();
for(int i = 0;i<line_num;i++){
String init_str = sc_01.next();
System.out.println("6"+init_str.substring(6,11));//从下表为0的开始计数,下标为6,长度为5
}
}
}
2093题:
这道题我做的老有问题,别人的可以参考下。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
private static Scanner scanner;
static List<Main.person> list;
public static void main(String[] args) {
scanner = new Scanner(System.in);
int probrom = scanner.nextInt();// 题目数量
int pubScore = scanner.nextInt();// 单位罚分
list = new ArrayList<Main.person>();
while (scanner.hasNext()) {
int ac = 0;// ac题目个数
int score = 0;// 罚分
String name = "";// 姓名
String strings[] = new String[probrom + 1];
// 输入一个考生的信息
// strings[0]是名字
for (int i = 0; i < strings.length; i++) {
strings[i] = scanner.next();
}
name = strings[0];
// 计算AC题目个数
for (int i = 1; i < strings.length; i++) {
char ch = strings[i].charAt(0);
if (ch >= '1' && ch <= '9') {
ac++;
try {
score += Integer.parseInt(strings[i]);
} catch (Exception e) {
}
}
}
// 计算分数
for (int i = 1; i < strings.length; i++) {
// 第i个元素的 最后一个字符是否为')'// 也可以使用contains
char ch = strings[i].charAt(strings[i].length() - 1);
if (ch == ')') {
String[] split = strings[i].split("[(,)]");
score += pubScore * Integer.parseInt(split[1]) + Integer.parseInt(split[0]);
}
}
Main p = new Main();
person per = p.new person(ac, score, name);
list.add(per);
}
listSort();
for (person person : list) {
System.out.printf("%-10s %2d %4d", person.getName(), person.getAcNum(), person.getScore());
System.out.println();
}
}
// 排序
private static void listSort() {
for (int i = 0; i < list.size() - 1; i++) {
for (int j = i + 1; j < list.size(); j++) {
String iName = list.get(i).getName();
String jName = list.get(j).getName();
int iAc = list.get(i).getAcNum();
int jAc = list.get(j).getAcNum();
int iScore = list.get(i).getScore();
int jScore = list.get(j).getScore();
if (iAc < jAc) {
sort(i, j);
} else if (iAc == jAc) {
if (iScore > jScore) {
sort(i, j);
} else if (iScore == jScore) {
int compareTo = iName.compareTo(jName);
if (compareTo > 0) {
sort(i, j);
}
}
}
}
}
}
// 交换
public static void sort(int i, int j) {
int temp = list.get(i).getAcNum();
list.get(i).setAcNum(list.get(j).acNum);
list.get(j).setAcNum(temp);
temp = list.get(i).getScore();
list.get(i).setScore(list.get(j).score);
list.get(j).setScore(temp);
String string = list.get(i).getName();
list.get(i).setName(list.get(j).getName());
list.get(j).setName(string);
}
class person {
int acNum;
int score;
String name;
public person(int acNum, int score, String name) {
super();
this.acNum = acNum;
this.score = score;
this.name = name;
}
public void setAcNum(int acNum) {
this.acNum = acNum;
}
public void setScore(int score) {
this.score = score;
}
public void setName(String name) {
this.name = name;
}
public int getAcNum() {
return acNum;
}
public int getScore() {
return score;
}
public String getName() {
return name;
}
}
}
2091题:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc_01 = new Scanner(System.in);
int flag = 0;//设置第一次的标志位
while (sc_01.hasNext()) {
String chars = sc_01.next();
if (!chars.equals("@")) {
int chars_line = sc_01.nextInt();
//根据标志位判断中间有没有空行。和之前的格式不同,之前的格式都是第一行之后输出空行的。
if (flag != 0) {
System.out.println();
}
flag++;
//如果只有一行的话
if (chars_line == 1) {
System.out.println(chars);
} else {
//若有多行的话
for (int i = 1; i < chars_line; i++) {
//前面的空格个数
for (int j = chars_line; j > i; j--) {
System.out.print(" ");
}
//输出字符串
System.out.print(chars);
//输出其他字符串
if (i != 1) {
for (int k = 1; k <= 2 * (i - 2) + 1; k++) {
System.out.print(" ");
}
System.out.print(chars);
}
//每一行空行
System.out.println();
}
//最后一行字符串
for (int i = 1; i <= (chars_line * 2 - 1); i++) {
System.out.print(chars);
}
System.out.println();
}
} else {
break;
}
}
}
}
1004题:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc_01 = new Scanner(System.in);
while (sc_01.hasNext()) {
int num_lin = sc_01.nextInt();
//判断是否包含
ArrayList<String> arrayList_01 = new ArrayList<String>();
//进行添加
ArrayList<Counting> arrayList_02 = new ArrayList<Counting>();
//输入所有String字符串
if (num_lin != 0) {
for (int i = 0; i < num_lin; i++) {
String strings = sc_01.next();
if (!arrayList_01.contains(strings)) {
//若输入的字符串不在该数组中。
Counting counting_01 = new Counting();
counting_01.conting = 1;
counting_01.color_name = strings;
arrayList_02.add(counting_01);
arrayList_01.add(strings);
} else {
for (int j = 0; j < arrayList_02.size(); j++) {
if (arrayList_02.get(j).color_name.equals(strings)) {
arrayList_02.get(j).conting++;
}
}
}
}
} else {
break;
}
int Max = arrayList_02.get(0).conting;
String MaxStrings = arrayList_02.get(0).color_name;
//统计
for (int k = 0; k < arrayList_01.size() - 1; k++) {
if (Max < arrayList_02.get(k + 1).conting){
//只保存当时最大的值
Max = arrayList_02.get(k+1).conting;
MaxStrings = arrayList_02.get(k+1).color_name;
}
}
System.out.println(MaxStrings);
}
}
private static class Counting {
private static String color_name;
private static int conting;
}
}
2057题:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc_01 = new Scanner(System.in);
while (sc_01.hasNext()){
String num_01 = sc_01.next();
String num_02 = sc_01.next();
//1.先将字符串转为十六进制,十六进制转为十进制
long result = Long.parseLong(num_01, 16)+ Long.parseLong(num_02,16);
if(result>=0){
System.out.println(Long.toHexString(result).toUpperCase());
}else {
System.out.println("-"+(Long.toHexString(Math.abs(result))).toUpperCase());
}
}
}
}