一、前言
首先因為藍橋杯軟體開發java組所用軟體為eclipse,所以小編以后藍橋問題都會用eclipse來實作,
小編先來給大家稍稍回顧一下eclipse的快捷鍵:
1.補全代碼的宣告:alt + /
2.快速修復: ctrl + 1
3.批量導包:ctrl + shift + o
4.使用單行注釋:ctrl + /
5.使用多行注釋: ctrl + shift + /
6.取消多行注釋:ctrl + shift +
7.復制指定行的代碼:ctrl + alt + down 或 ctrl + alt + up
8.洗掉指定行的代碼:ctrl + d
9.上下移動代碼:alt + up 或 alt + down
10.切換到下一行代碼空位:shift + enter
11.切換到上一行代碼空位:ctrl + shift + enter
12.如何查看原始碼:ctrl + 選中指定的結構 或 ctrl + shift + t
13.退回到前一個編輯的頁面:alt + left
14.進入到下一個編輯的頁面(針對于上面那條來說的):alt + right
15.游標選中指定的類,查看繼承樹結構:ctrl + t
16.復制代碼: ctrl + c
17.撤銷: ctrl + z
18.反撤銷: ctrl + y
19.剪切:ctrl + x
20.粘貼:ctrl + v
21.保存: ctrl + s
二、幾道基礎的藍橋問題
下面進入正題部分,今天將會給大家帶來幾道比較基礎的藍橋真題
1.單詞分析
題目描述:
小藍正在學習一門神奇的語言,這門語言中的單詞都是由小寫英文字母組 成,有些單詞很長,遠遠超過正常英文單詞的長度,小藍學了很長時間也記不住一些單詞,他準備不再完全記憶這些單詞,而是根據單詞中哪個字母出現得最多來分辨單詞,現在,請你幫助小藍,給了一個單詞后,幫助他找到出現最多的字母和這 個字母出現的次數,
輸入描述
輸入一行包含一個單詞,單詞只由小寫英文字母組成,對于所有的評測用例,輸入的單詞長度不超過 1000,
輸出描述
輸出兩行,第一行包含一個英文字母,表示單詞中出現得最多的字母是哪 個,如果有多個字母出現的次數相等,輸出字典序最小的那個,第二行包含一個整數,表示出現得最多的那個字母在單詞中出現的次數,
輸入輸出樣例
輸入:
lanqiao
輸出
a
2
運行限制:
最大運行時間:1s
最大運行記憶體: 256M
package 單詞分析;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String str=scanner.next();
int A[]=new int [26];
for(int i=0;i<str.length();i++){
A[str.charAt(i)-'a']++;
}
int max=0;
int j=0;
char ch='0';
for(;j<26;j++){
if(A[j]>max){
max=A[j];
ch=(char)('a'+j);
}
}
System.out.println(ch);
System.out.println(max);
}
}
代碼運行結果如下:

2.回文日期
題目描述
2020 年春節期間,有一個特殊的日期引起了大家的注意:2020 年 2 月 2 日,因為如果將這個日期按 yyyymmdd 的格式寫成一個 8 位數是 20200202,恰好是一個回文數,我們稱這樣的日期是回文日期,有人表示 20200202 是 “千年一遇” 的特殊日子,對此小明很不認同,因為不到 2 年之后就是下一個回文日期:20211202 即 2021 年 12 月 2 日,也有人表示 20200202 并不僅僅是一個回文日期,還是一個 ABABBABA 型的回文日期,對此小明也不認同,因為大約 100 年后就能遇到下一個 ABABBABA 型的回文日期:21211212 即 2121 年 12 月 12 日,算不上 “千年一遇”,頂多算 “千年兩遇”,
給定一個 8 位數的日期,請你計算該日期之后下一個回文日期和下一個 ABABBABA 型的回文日期各是哪一天,
輸入描述:
輸入包含一個八位整數 N,表示日期,
對于所有評測用例,8999123110000101≤N≤89991231,保證 N 是一個合法日期的 8 位數表示,
輸出描述:
輸出兩行,每行 1 個八位數,第一行表示下一個回文日期,第二行表示下一個 ABABBABA 型的回文日期,
輸入輸出樣例:
輸入
20200202
輸出
20211202
21211212
運行限制:
最大運行時間:1s
最大運行記憶體: 256M
package 回文日期;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int date = sc.nextInt();
int d2 = date;
for(int i=date+1;i<89991231;i++){
if(huiwen(i)){
System.out.println(i);
break;
}
}
for(int j = d2+1;j < 89991231;j++) {
if(isababa(j)){
System.out.println(j);
break;
}
}
}
static boolean huiwen(int num){
String str = String.valueOf(num);
if(str.charAt(0) == str.charAt(7) && str.charAt(1) == str.charAt(6)&&
str.charAt(2) == str.charAt(5) && str.charAt(3) == str.charAt(4)){
return true;
}
return false;
}
static boolean isababa(int num) {
String str = String.valueOf(num);
if(huiwen(num) && str.charAt(0) == str.charAt(2) && str.charAt(1) == str.charAt(3)){
return true;
}
return false;
}
}
代碼運行結果如下:

3.成績統計
題目描述
小藍給學生們組織了一場考試,卷面總分為 100 分,每個學生的得分都是一個 0 到 100 的整數,
如果得分至少是 60 分,則稱為及格,如果得分至少為 85 分,則稱為優秀,
請計算及格率和優秀率,用百分數表示,百分號前的部分四舍五入保留整 數,
輸入描述:
輸入的第一行包含一個整數 n (1≤n≤10^4),表示考試人數,
接下來 n 行,每行包含一個 0 至 100 的整數,表示一個學生的得分,
輸出描述:
輸出兩行,每行一個百分數,分別表示及格率和優秀率,百分號前的部分 四舍五入保留整數,
輸入輸出樣例
輸入
7
80
92
56
74
88
100
0
輸出
71%
43%
運行限制
最大運行時間:1s
最大運行記憶體: 256M
package 成績統計;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int x=scanner.nextInt();
int A[]=new int[x];
for(int i=0;i<x;i++){
int y=scanner.nextInt();
A[i]=y;
}
double good=0;
double normal=0;
for(int j=0;j<x;j++){
if(A[j]>=85){
good++;
normal++;
}else if(A[j]>=60){
normal++;
}
}
double g=good/x*100;
double n=normal/x*100;
if(g - (int)g >= 0.5)
g = (int)g+1;
else
g = (int)g;
if(n - (int)n >= 0.5)
n = (int)n+1;
else
n = (int)n;
System.out.println(String.format("%.0f",n)+"%");
System.out.println(String.format("%.0f",g)+"%");
}
}
代碼運行結果如下:

新手上路,因能力有限,若有不足之處還望大家海涵!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/271317.html
標籤:java
上一篇:記一次CPU飆升的問題排查
