Java蓝桥杯试题集之基础练习1-5 ---- 闰年判断、01字串、字母图形、数列特征、查找整数
目录
1. 闰年判断
解题思路
这个题说一下小技巧:可以使用布尔值表示是否是闰年,最后输出的时候使用三项表达式输出,看起来更加简洁~~
package _190204;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int year = in.nextInt();
boolean isYear = false;
if (year % 4 == 0 && year % 100 != 0) {
isYear = true;
}
if (year % 400 == 0) {
isYear = true;
}
System.out.println(isYear?"yes":"no");
}
}
2. 01字串
解题思路
这个题本来想使用java仿C输出的方式来补全前面的0,结果发现C没有输出二进制的符号
所以只能循环打了,转换成二进制使用的是Integer.toBinaryString(i)函数。
package _190204;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 0; i < 32; i++) {
for (int j = 0; j < 5 - Integer.toBinaryString(i).length(); j++) {
System.out.print("0");
}
System.out.println(Integer.toBinaryString(i));
}
}
}
3. 字母图形
解题思路
这个题看两遍,发现是以A为第一个字母,同行按ASCII码依次+1输出,每行以【A+行号】的ASCII码的字母开头,依次-1,直到A,再依次+1输出。
这里需要注意,当输入行数大于列数的时候(如输入:26,1),程序要判断输出字母数不能大于列数。
package _190204;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
char head = 'A';
Scanner in = new Scanner(System.in);
int row = in.nextInt();
int column = in.nextInt();
for (int i = 0; i < row; i++) {
for (int j = 0; j < column && j < i; j++) {
System.out.print((char)(head + i - j));
}
for (int j = 0; j < column - i; j++) {
System.out.print((char)(head + j));
}
System.out.println();
}
}
}
4. 数列特征
解题思路
这题用到了Arrays中的sort方法,十分方便。
小贴士:引入包的快捷键:鼠标在报错的行,按ctrl + 1, import xxx~~
package _190204;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int sum = 0;
int a[] = new int[n];
for (int i = 0; i < n; i++) {
a[i] = in.nextInt();
sum += a[i];
}
Arrays.sort(a);
System.out.println(a[n-1]);
System.out.println(a[0]);
System.out.println(sum);
}
}
5. 查找整数
解题思路
本来是想找一个java中的查找元素在数组中的索引值的函数,就像JavaScript中的indexOf一样,但是没有找到,只能自己写一个了。。
package _190204;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int a[] = new int[n];
for (int i = 0; i < n; i++) {
a[i] = in.nextInt();
}
int target = in.nextInt();
System.out.println(getIndex(a, target));
}
public static int getIndex (int[] a, int target) {
for (int i = 0; i < a.length; i++) {
if (a[i] == target) {
return i + 1;
}
}
return -1;
}
}
今日总结:很简单的5道题,用好Java的函数呀~ 还剩20几天的假期,不要荒废!
祝大家:新年快乐!!!
希望我的记录能够帮到你~ 喜欢请点赞!
谢谢你看到这里!写作仓促,有疏漏之处还请评论指正,共同探讨进步!