目录
1. 输入一个字符串,判断该字符串是否是回文字符串(面试题)
7. 让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成”老牛很**”;
8.猜字游戏,计算机随机一个0~100的整数,每次用户输出字猜。
1. 输入一个字符串,判断该字符串是否是回文字符串(面试题)
例如:123454321
方法一:使用substring()
方法二:直接charAt()
import java.util.Scanner;
public class StringTest1 {
// 给定一个字符串,判断该字符串是否是回文字符串
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入任意字符串");
String str = scan.next();
scan.close();
boolean result = judgeStr1(str);
if(result) {
System.out.println(str + "是回文");
} else{
System.out.println(str + "不是回文");
}
}
public static boolean judgeStr(String str) {
String str1 = str.substring(0, str.length() / 2);//0 1 2 3 4 5/2
System.out.println(str1);
String str2;
if(str.length() % 2 == 0) {
str2 = str.substring(str.length() / 2, str.length());
}else {
str2 = str.substring(str.length() / 2 + 1, str.length());
}
System.out.println(str2);
for (int i = 0; i < str1.length(); i++) {
if(str1.charAt(i) == str2.charAt(str1.length() - 1 - i)){
return true;
}
}
return false;
}
public static boolean judgeStr1(String str) {
int starIndex = 0;
int endIndex = str.length() - 1;
boolean isFlag = true;
while (starIndex < endIndex) {
if(str.charAt(starIndex) != str.charAt(endIndex)) {
isFlag = false;
break;
}else{
starIndex++;
endIndex--;
}
}
if (isFlag) {
return true;
}
return false;
}
}
结果:
2. 去掉字符串中的所有空格
public class RemoveSpace {
public static void main(String[] args) {
String str1 = " J a v a ";
System.out.println(removeSpace(str1));
}
public static String removeSpace(String str){
String result = str.trim(); // 去除首尾空格
String str1 = "";
for (int i = 0; i < result.length(); i++) {
if (result.charAt(i) == ' '){
continue;
}else {
str1 += result.charAt(i);
}
}
return str1;
}
}
结果:
3. 将字母全部转换为大写或小写
思路:大小写字母的ASCII码值相差32
public class SwitchUpperLower {
public static void main(String[] args) {
String s = "abcD";
System.out.println(s.toUpperCase());
System.out.println(s.toLowerCase());
System.out.println(switchUpper(s));
System.out.println(switchLower(s));
}
public static String switchUpper(String str) {
String s = "";
for(int i = 0; i < str.length(); i++) {
char sub = str.charAt(i);
if(sub >= 'a' && sub <= 'z') {
sub = (char)(sub - 32);
}
s += sub;
}
return s;
}
public static String switchLower(String str) {
String s = "";
for(int i = 0; i < str.length(); i++) {
char sub = str.charAt(i);
if(sub >= 'A' && sub <= 'Z') {
sub = (char)(sub + 32);
}
s += sub;
}
return s;
}
}
结果:
4. 接收用户输入的一句英文,将其中的单词以反序输出
“hello c sharp”→“sharp c hello”
import java.util.Scanner;
public class BackStr {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("请输入一句英文:");
String str = scan.nextLine();
String result = backStr(str);
System.out.println(result);
}
public static String backStr(String s) {
String[] result = s.split(" ");
String str = "";
for (int i = result.length - 1; i >= 0; i--) {
System.out.println(result[i]);
str += "".concat(result[i] + " ");
}
return str.trim();
}
}
结果:
5. 从请求地址中提取出用户名和域名
http://www.163.com?userName=admin&pwd=123456
public class ExtractStr {
/*
从请求地址中提取出用户名和域名:
http://www.163.com?userName=admin&pwd=123456
*/
public static void main(String[] args) {
String str = "http://www.163.com?userName=admin&pwd=123456";
TiQu(str);
}
public static void TiQu(String str){
String s1 = str.substring(str.indexOf("=") +1,str.indexOf("pwd") -1);
String s2 = str.substring(str.lastIndexOf("=") +1);
String s3 = str.substring(str.indexOf("/") +2, str.indexOf("?"));
System.out.println("域名为:" + s3);
System.out.println("密码为:" + s2);
System.out.println("用户名为:" + s1);
}
}
结果:
6. 让用户输入一句话,找出所有"呵"的位置。
import java.util.Scanner;
public class FindStr {
/*
让用户输入一句话,找出所有"呵"的位置。
*/
public static void main(String[] args) {
System.out.println("输入的字符串为:");
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
findStr(s);
}
public static void findStr(String s){
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '呵') {
System.out.println("呵位置在:" + i);
}
}
}
}
结果:
7. 让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成”老牛很**”;
import java.util.Scanner;
public class SensitiveWords {
/*
让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,
如:“老牛很邪恶”,输出后变成”老牛很**”
*/
public static void main(String[] args) {
System.out.println("输入的字符串为:");
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
sensitiveWord(s);
}
public static void sensitiveWord(String s) {
if (s.contains("邪恶")) {
String result = s.replace("邪恶","**");
System.out.println(result);
}
}
}
结果:
8.猜字游戏,计算机随机一个0~100的整数,每次用户输出字猜。
提示如下:猜大了,重新猜;猜小了,重新猜;猜对了
import java.util.Scanner;
public class GuessNumber {
public static void main(String[] args) {
int num = (int)(Math.random() * 100);
guessNum(num);
}
public static void guessNum(int a){
int count = 1;
while (count <= 3){
System.out.print("请输入您第"+ count + "次猜的数字:");
Scanner sc=new Scanner(System.in);
int num = sc.nextInt();
if (num == a){
System.out.println("恭喜您猜对了!");
break;
}
else if (num < a){
System.out.println("很遗憾您猜小了!");
}
else if (num > a){
System.out.println("很遗憾您猜大了!");
}
count ++;
}
System.out.println("很遗憾您没有猜出来,正确答案是:"+ a);
}
}
结果:
9. 猜拳游戏,石头剪刀布。随机数生成石头剪刀布
(0:石头 1:剪刀 2:布)
import java.util.Random;
import java.util.Scanner;
public class GuessFinger {
public static void main(String[] args) {
/*
9.猜拳游戏,石头剪刀布。随机数生成石头剪刀布
*/
guessFinger();
}
public static void guessFinger() {
Random random = new Random();
int player1 = random.nextInt(3);
System.out.print("请输入您的选项(0:石头 1:剪刀 2:布):");
Scanner scanner = new Scanner(System.in);
int player2 = scanner.nextInt();
if (player1 == player2){
System.out.println("您和我的想法一样,平局!!!");
}else if ((player1 == 0 && player2 == 1) || (player1 ==1 && player2 ==2) ||(player1 ==2 && player2 ==0)){
System.out.println("抱歉您输了!");
}
else if ((player1 == 1 && player2 == 0) || (player1 ==0 && player2 ==2) ||(player1 ==2 && player2 ==1)){
System.out.println("恭喜您赢了!");
}
else {
System.out.println("对不起,您的输入有误!!!");
}
}
}
结果: