《Java 程序设计》核心能力测试题


终于考完了,我刚开始没有看清题目,导致把时间给浪费了,题号变了。
23-软件技术2032-符攀飞.zip
4.5 KB
编程题:
归档.zip
10.1 KB
1. 编写程序,输入一个年份,输出这一年的 2 月有几天?
思路:利用scanner来让用户输入年份,用if条件来判断输入的年份是否为闰年
判断是否为闰年的条件是:能被4整除,并且不能被100整除或者能被400整除
转化为java的条件为:year%4==0&&year%100!=0||year%400==0
package fupanfei; import java.util.Scanner; public class fupanfei1 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入你要查询的年份:"); Scanner input= new Scanner(System.in); int year = input.nextInt(); if(year%4==0&&year%100!=0||year%400==0) { System.out.println(year+"年是闰年,二月要:29天哦"); } else { System.out.println(year+"年是平年,二月只有:28天哦"); } } }
2. 编写程序,提示用户输入一个三位的整数,判断它是否是回文数
字?
思路:判断条件是利用取余数法获取三位数的个位和百位,是否相等。
package fupanfei; import java.util.Scanner; public class fupanfei2 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入一个三位数整数:"); Scanner input=new Scanner(System.in); int num=input.nextInt(); if(num>999||num<100) { System.out.println("你输入的参数错误!"); } int num1 = num/100;//获取到百位 int num2 = (num%100)%10;//获取到个位 if(num1==num2) { System.out.println(num+"是回文数!"); } else { System.out.println(num+"不是回文数!"); } } }
3. 编写程序,输入某年某月某日,判断这一天是这一年的第几天?
思路:利用for循环,快速获取
//1.定义一个数组,存放12个月的天数 int[] days= {31,28,31,30,31,30,31,31,30,31,30,31}; // 2.输入年月日 Scanner input = new Scanner(System.in); System.out.println("请输入年月日:"); int y=input.nextInt(); int m=input.nextInt(); int d=input.nextInt(); if(y%4==0&&y%100!=0||y%400==0) days[1]=29; // 3.求总天数 int sum=0; for(int i=0;i<=m-2;i++) sum=sum+days[i]; sum=sum+d; // 4.输出结果 System.out.println(y+"年"+m+"月"+d+"日是在这一年的第"+sum+"天!"); } }
package fupanfei; import java.util.*; public class fupanfei3 { public static void main(String[] args) { // 输入某年某月某日,判断这一天是这一年的第几天 Scanner scan=new Scanner(System.in); System.out.println("请输入年份:"); int year=scan.nextInt(); System.out.println("请输入月份:"); int month=scan.nextInt(); System.out.println("请输入日期:"); int day=scan.nextInt(); int total=0; if(year%400==0||(year%100!=0&&year%4==0)) {//闰年 int[] months= {31,29,31,30,31,30,31,31,30,31,30,31}; for(int i=0;i<month-1;i++) { total=total+months[i]; } total=total+day; System.out.println("这是这一年的第"+total+"天"); } else {//非闰年 int[] months= {31,28,31,30,31,30,31,31,30,31,30,31}; for(int i=0;i<month-1;i++) { total=total+months[i]; } total=total+day; System.out.println("这是这一年的第"+total+"天"); } } }
4. 编写程序,输入 5 个数,要求从小到大输出。
public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入第一个数"); int a=sc.nextInt(); System.out.println("请输入第二个数"); int b=sc.nextInt(); System.out.println("请输入第三个数"); int c=sc.nextInt(); System.out.println("请输入第四个数"); int d=sc.nextInt(); System.out.println("请输入第五个数"); int e=sc.nextInt(); int []array={a,b,c,d,e}; for(int i=0;i<(array.length-1);i++) { for(int j=i+1;j<array.length;j++) { if(array[i]>array[j]) { int zhong=array[i]; array[i]=array[j]; array[j]=zhong; } } } System.out.println("从下到大:"+array[0]+" "+array[1]+" "+array[2]+" "+array[3]+" "+array[4]); }
5. 编写程序,输入一个密码,判断密码是否输入正确,如果正确,
输出“密码正确”,如果错误,提示用户再次输入,最多输入 3 次。
package fupanfei; import java.util.Scanner; public class fupanfei5 { public static void main(String[] args) { //初始化一个密码 String my_password = new String("123456"); Scanner sc = new Scanner(System.in); //记录输入次数 int count = 0; System.out.println("请输入密码: "); //从键盘上数入 3 次,进行比较 for (count = 0; count < 3; count++) { String string = sc.nextLine(); if (my_password.equals(string)) { System.out.println("登录成功!"); } else if (!(my_password.equals(string)) && count <= 1) { System.out.println("密码错误,请重新输入!"); } else if (!(my_password.equals(string)) && count == 2) { System.out.println("连续三次错误,程序退出!"); } } } }
6. 一些网站对于密码具有一些规则。编写一个方法,检测字符串是
否是一个有效密码。假定密码规则如下:
  • 密码必须至少 8 位字符
  • 密码仅能包含字母和数字
  • 密码必须包含至少两个数字
编写程序,提示用户输入一个密码,判断密码是否为有效密码。
package fupanfei; import java.util.Scanner; public class fupanfei4 { public static void main(String[] args) { // TODO Auto-generated method stub // 接收用户输入 Scanner input = new Scanner(System.in); System.out.print("请输入一个密码:"); String str = input.nextLine(); // 1. 至少8位:字符串长度大于等于8 int length = str.length(); if (length < 8){ System.out.println("密码格式错误,至少8位:字符串长度大于等于8"); System.exit(1); } // 2. 转ASCII boolean bool1 = true, bool2 = false; int count = 0; for (int i = 0 ;i < length;i++){ int int_ASCII = char_to_ASCII(str.charAt(i)); // 仅能包含字母和数字;[48, 57]、[65, 90]、[97, 112] if (int_ASCII < 48 || (int_ASCII > 57 && int_ASCII < 65) || (int_ASCII > 90 && int_ASCII < 97) || int_ASCII > 112) bool1 = false; // 必须至少包含两个数字 if (int_ASCII >= 48 && int_ASCII <= 57) count++; } if (count >= 2) bool2 = true; // 输出判断 if (bool1 && bool2) System.out.println("恭喜您密码格式没问题哦!"); else System.out.println("有问题,非法参数!"); } public static int char_to_ASCII(char ch){ return (int) (ch); } }
7. 定义一个学生类,包含三个属性(学号,姓名,成绩)均为私有
的,分别给这三个属性定义两个方法,一个设置它的值,另一个
获得它的值。然后在一个测试类里试着调用。
8. 编写一个圆类 Circle,该类拥有:
(1)一个成员变量
Radius(私有,浮点型); //存放圆的半径;
(2)两个构造方法
Circle( ) // 将半径设为 0
Circle(double r ) //创建 Circle 对象时将半径初始化为 r
(3)三个成员方法
double getArea( ) //获取圆的面积
double getPerimeter( ) //获取圆的周长
void show( ) //将圆的半径、周长、面积输出到屏幕
编写应用程序,创建类的对象,分别设置圆的半径,计算并分别
显示圆半径、圆面积、圆周长
package fupanfei; import java.math.*; import javax.swing.*; class Circle{ int r; Circle(int r){ this.r=r; } public void getS(){ System.out.println("面积是:"+Math.PI*r*r); } public void getL(){ System.out.println("周长是:"+2*Math.PI*r); } public static void main(String[] args){ String s=JOptionPane.showInputDialog("请输入半径:"); System.out.println("半径是:"+s); Circle c=new Circle(Integer.parseInt(s)); c.getS(); c.getL(); } }
符攀飞 符攀飞
6 个月前
278

扫描下方二维码手机阅读文章

27