1. 结婚
有一个类CAB,有一个canMarry方法,接收两个Person对象,返回boolean值表示两个人能否结婚。
Person类
public class Person {
private String name;
private Character gender;
private Integer age;
private Boolean marry;
public Person(String name, Character gender, Integer age, Boolean marry) {
this.name = name;
this.gender = gender;
this.age = age;
this.marry = marry;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Character getGender() {
return gender;
}
public void setGender(Character gender) {
this.gender = gender;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Boolean getMarry() {
return marry;
}
public void setMarry(Boolean marry) {
this.marry = marry;
}
}
CAB类
public class CAB {
public static void main(String[] args) {
Person p1 = new Person("玉", '女', 20, false);
Person p2 = new Person("天", '男', 20, false);
CAB cab = new CAB();
Boolean reault = cab.canMarry(p1,p2);
System.out.println(reault);
}
public Boolean canMarry(Person p1,Person p2){
// 判断逻辑:
// 1. 两个人必须是异性
// 2. 男生大于22,女生大于20
// 3. 两个人不能都已婚
if (p1 != null && p2 != null){
if (p1.getMarry() || p2.getMarry()){
return false;
}
if (p1.getGender() == '男'){
boolean flag = p2.getGender() == '女' && p1.getAge() >= 22 && p2.getAge() >= 20;
if (flag){
return true;
}
} else {
if (p2.getGender() == '男' && p1.getAge() >= 20 && p2.getAge() >= 22){
return true;
}
}
}
return false;
}
}
2. 统计个数
请编写程序,由键盘录入一个字符串,统计字符串中英文字母和数字分别有多少个。比如:Hello12345World中字母:10个,数字:5个。
import java.util.Scanner;
public class Test {
//请编写程序,由键盘录入一个字符串,统计字符串中英文字母和数字分别有多少个。
// 比如:Hello12345World中字母:10个,数字:5个。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = sc.next();
a(str);
number(str);
}
public static void a(String str){
int count = 0;
for (int i = 0;i < str.length();i++){
char ch = str.charAt(i);
// 判断字符是否是字母
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
count++; // 如果是字母,增加字母计数器
}
}
System.out.println("英文字母个数:" + count);
}
//判断数字
public static void number(String str){
int count = 0;
for (int i = 0;i < str.length();i++){
char ch = str.charAt(i);
// 判断字符是否是数字
if (ch >= '0' && ch <= '9'){
count++; // 如果是字母,增加字母计数器
}
}
System.out.println("数字个数:" + count);
}
}
3. 回文字符串
请定义一个方法用于判断一个字符串是否是对称的字符串,并在主方法中测试方法。例如:“abcba”、"上海自来水来自海上"均为对称字符串
import java.util.Scanner;
public class Test1 {
//请定义一个方法用于判断一个字符串是否是对称的字符串,并在主方法中测试方法。例如:"abcba"、"上海自来水来自海上"均为对称字符串
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = sc.nextLine();
Boolean result = symmetry(str);
System.out.println(result);
}
public static Boolean symmetry(String str){
for(int i = 0;i < str.length() >>2;i++){
if (str.charAt(i) != str.charAt(str.length()-i-1)) {
return false;
}
}
return true;
}
}