字符串算法题一
public class Demo {
@Test
public void test1() {
String str = "jdk";
System.out.println(str.toUpperCase().substring(1));
}
@Test
public void test2() {
String str = "test";
System.out.println(str.replace("es", "se"));
}
@Test
public void test3() {
System.out.println("见下面的Demo1");
}
@Test
public void test4() {
String s = "113@ ere qqq yyui";
String s1 = "113@ ere qqq yyui";
System.out.println(s.substring(0, 3));
System.out.println(s.substring(5, 8));
System.out.println(s.substring(9, 12));
System.out.println(s.substring(13, 17));
}
@Test
public void test5() {
System.out.println("见下面的Demo2");
}
@Test
public void test6() {
String s = "name=zhangsan age=18 classNo=090728";
char[] chars = s.toCharArray();
int beginIndex = 0;
int endIndex = 0;
int count = 0;
for (int i = 0; i < chars.length; i++) {
boolean flag = false;
if (chars[i] == '=') {
beginIndex = i + 1;
}
if (chars[i] == ' ') {
endIndex = i + 1;
count++;
flag = true;
}
while (flag) {
System.out.print(s.substring(beginIndex, endIndex));
flag = false;
}
if (chars[i] == '=' && count == 2) {
beginIndex = i + 1;
System.out.println(s.substring(beginIndex, chars.length));
}
}
}
@Test
public void test7(){
System.out.println("见下面的Demo3");
}
}
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串,系统会判断其是否对称");
String str = scanner.next();
boolean result = false;
try {
result = isSymmetry(str);
} catch (Exception e) {
throw new RuntimeException(e);
}
System.out.println(result);
}
public static boolean isSymmetry(String str) throws Exception {
boolean flag = true;
if (str == null || str.length() == 0) {
throw new Exception("请输入非空的字符串");
}
char[] chars = str.toCharArray();
if(chars.length > 1 ){
for (int i = 0; i < (chars.length) / 2; i++) {
flag = false;
for (int j = chars.length - 1 - i; j >= (chars.length) / 2; j--) {
if (chars[i] == chars[j]) {
flag = true;
break;
}
}
}
}else {
flag = false;
}
return flag;
}
}
public class Demo2 {
public static void main(String[] args) {
String str = "To be or not to be";
System.out.println(reverse(str));
}
public static String reverse(String str) {
char[] chars = str.toCharArray();
int middle = chars.length / 2;
for (int i = 0; i < middle; i++) {
if (chars[i] != ' ' && chars[i + 1] != ' ') {
char temp = chars[i + 1];
chars[i + 1] = chars[i];
chars[i] = temp;
}
}
for (int i = chars.length - 1; i > middle + 2; i--) {
if (chars[i] != ' ' && chars[i - 1] != ' ') {
char temp = chars[i];
chars[i] = chars[i - 1];
chars[i - 1] = temp;
}
}
char temp = chars[middle];
chars[middle] = chars[middle + 2];
chars[middle + 2] = temp;
String string = String.valueOf(chars);
return string;
}
}
import java.util.Scanner;
import static java.lang.System.*;
class Person {
private String idCard;
private String name;
private int age;
private char gender;
public Person() {
}
public Person(String idCard, String name, int age, char gender) {
this.idCard = idCard;
this.name = name;
this.age = age;
this.gender = gender;
}
@Override
public String toString() {
return "Person{" +
"idCard='" + idCard + '\'' +
", name='" + name + '\'' +
", age=" + age +
", gender=" + gender +
'}';
}
}
public class Demo3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(in);
out.println("请按照这种格式输入字符串(idCard:name:age:gender)");
String str = scanner.next();
print(str);
}
public static void print(String str) {
String[] strings = str.split(":");
String idCard = strings[0];
String name = strings[1];
int age = Integer.parseInt(strings[2]);
char[] chars = strings[3].toCharArray();
char gender = 0;
for (int i = 0; i < chars.length; i++) {
gender = chars[i];
}
out.println(new Person(idCard, name, age, gender));
}
}