目录
这个题说一下小技巧:可以使用布尔值表示是否是闰年,最后输出的时候使用三项表达式输出,看起来更加简洁~~
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"); } }
这个题本来想使用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)); } } }
这个题看两遍,发现是以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(); } } }
这题用到了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); } }
本来是想找一个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几天的假期,不要荒废!
祝大家:新年快乐!!!