Java蓝桥杯试题集之基础练习1-5 ---- 闰年判断、01字串、字母图形、数列特征、查找整数

目录

 1. 闰年判断

解题思路

2. 01字串

解题思路

3. 字母图形

解题思路

4. 数列特征

解题思路

5. 查找整数

解题思路


 

 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几天的假期,不要荒废! 

祝大家:新年快乐!!!

 

希望我的记录能够帮到你~ 喜欢请点赞!


谢谢你看到这里!写作仓促,有疏漏之处还请评论指正,共同探讨进步!