问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求Java大神, 任给字符串,判断其是否为“abcttcba”型的字符串。

发布网友 发布时间:2022-04-18 19:59

我来回答

7个回答

热心网友 时间:2022-04-18 21:28

字符串,判断是否为   abcttcba 型字符串

那么有几种可能

第一, aba , aa , aaaaaaaaa这类字符串对称的,符合要求吗?

 如果符合要求,可以使用下面的方法判断

// 简单版 ,只能判断是否是对称字符串, 比如 aba aa
private static boolean isMatchEasy(String str) {
String str2 = new StringBuilder(str).reverse().toString();// 翻转字符串
return str2.equals(str);
}

第二,字符串长度是否有要求,可以重复吗 abattaba  符号要求吗?

如果abattaba  这样也符号要求,可以使用下面的方法判断

// 中等版,只能粗略判断,如果字符串是11111111, 或者abbttbba 也会判断为符合要求
private static boolean isMatchPlain(String str) {
if (str.length() != "abcttcba".length()) {// 如果长度和指定的字符串不匹配,那么返回假
return false;
}
String str2 = new StringBuilder(str).reverse().toString();// 翻转字符串
return str2.equals(str);
}

第三,如果abattaba   不符合要求, 也就是前半部分的字符都不许重复,

那么要使用下面的方法判断

// 复杂版,严格判断,调用该方法,判断字符串是否符合要求
private static boolean isMatch(String str) {
        //如果没有字符串长度*,可以删除,第一个if判断
if (str.length() != "abcttcba".length()) {// 如果长度和指定的字符串不匹配,那么返回假
return false;
}
String str2 = new StringBuilder(str).reverse().toString();// 翻转字符串

if (str2.equals(str)) {// 如果翻转前和翻转后一致,那么继续判断 前半部分每个字符是否重复
boolean flag = true;
ok: for (int i = 0; i < str.length() / 2 - 1; i++) {
for (int j = i + 1; j < str.length() / 2; j++) {
if (str.charAt(i) == str.charAt(j)) {// 如果有一个字符和后面的字符重复
flag = false;// 那么修改为false
break ok;// 跳出循环.不在判断了
}
}
}
return flag;// 返回 (如果刚才没有修改为false,那么这里会返回true)
} else {
return false;
}
}

    最后 综合起来,运行测试

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
System.out.println("请输入任意一行字符串:");
Scanner input = new Scanner(System.in);// 创建一个扫描器,用于从控制台读取输入的字符串
String str = input.nextLine().trim();// nextLine()表示读取一行
// trim()表示去掉字符串前后的空白
System.out.println(isMatch(str));
// System.out.println(isMatchPlain(str));
// System.out.println(isMatchEasy(str));
}

// 复杂版,严格判断,调用该方法,判断字符串是否符合要求
private static boolean isMatch(String str) {
//如果没有字符串长度要求,就删除第一个if
if (str.length() != "abcttcba".length()) {// 如果长度和指定的字符串不匹配,那么返回假
return false;
}
String str2 = new StringBuilder(str).reverse().toString();// 翻转字符串

if (str2.equals(str)) {// 如果翻转前和翻转后一致,那么继续判断 前半部分每个字符是否重复
boolean flag = true;
ok: for (int i = 0; i < str.length() / 2 - 1; i++) {
for (int j = i + 1; j < str.length() / 2; j++) {
if (str.charAt(i) == str.charAt(j)) {// 如果有一个字符和后面的字符重复
flag = false;// 那么修改为false
break ok;// 跳出循环.不在判断了
}
}
}
return flag;// 返回 (如果刚才没有修改为false,那么这里会返回true)
} else {
return false;
}
}

// 中等版,只能粗略判断,如果字符串是11111111, 或者abbttbba 也会判断为符合要求
private static boolean isMatchPlain(String str) {
if (str.length() != "abcttcba".length()) {// 如果长度和指定的字符串不匹配,那么返回假
return false;
}
String str2 = new StringBuilder(str).reverse().toString();// 翻转字符串
return str2.equals(str);
}

// 简单版 ,只能判断是否是对称字符串, 比如 aba aa
private static boolean isMatchEasy(String str) {
String str2 = new StringBuilder(str).reverse().toString();// 翻转字符串
return str2.equals(str);
}
}

热心网友 时间:2022-04-18 22:46

是判断对称么?
public static void main(String[] args) {
String s = "输入你给的字符串";//判断其是否为“abcttcba”型的字符串。 String b = s.substring(0,4);
String after=s.substring(4,8);
String reverse = "";
for (int i = 0; i < after.length(); i++){
reverse = after.charAt(i) + reverse;
}
if(b.endsWith(reverse)){
System.out.println("符合格式");
}else{
System.out.println("不符合格式");
}
}

热心网友 时间:2022-04-19 00:21

我暂且认为你的意思是,检查输入的字符串是否满足类似"abcttcba"型的对称字符串

import java.util.Scanner;


public class TestType {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(true){
boolean sign = true;
System.out.println("请输入一串字符串,系统会自动识别是否符合(abcttcba)类型:");
String  str = scanner.next();
if(str.equals("-1")){//输入-1,可推出系统
System.exit(0);;
}else{
char[] a = str.toCharArray();
if(a.length % 2 != 0){//对称类型字符串长度必定是偶数,首先可用是否是偶数作为判断条件
System.out.println("该字符串"+str+"----不符合(abcttcba)类型!");
}else{
for (int i = 0; i < a.length/2; i++) {//循环,让第一个与最后一个做比较,看是否一样
if(a[i] != a[a.length-1-i]){//如果存在一个对应位置字符不相等,跳出循环
sign = false;
System.out.println("该字符串"+str+"----不符合(abcttcba)类型!");
break;
}
}
if(sign){
System.out.println("该字符串"+str+"----符合(abcttcba)类型!");
}
}
}
}
}
}

热心网友 时间:2022-04-19 02:12

public static void main(String[] args) {
StringBuffer testStr1 = new StringBuffer("asd112dsa");
String testStr2 = testStr1.toString();
testStr1 = testStr1.reverse();

System.err.println(testStr1.toString().equals(testStr2));
}

热心网友 时间:2022-04-19 04:20

public boolean test (String str){
return "abcttcba".equals(str);
}

热心网友 时间:2022-04-19 06:45

String str = "abcttcba";
boolean result = true;
int count =(str.length()-1)/2;
   for (int x=0;x<=count;x++ ){
       if(str.charAt(x)!=str.charAt(str.length()-1-x)){
              result = false;
              break;
        }
    }
if(!result)
     System.out.println("该字符串是不对称的");
else
     System.out.println("该字符串是对称的");

热心网友 时间:2022-04-19 09:26

请使用正则表达式
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑屏保息屏时间设置怎么设置电脑几分钟自动锁屏时间 如何设置电脑三分钟锁屏怎么设置电脑几分钟自动锁屏时间 为什么CF玩一段时间ping好高 关于CFping高的问题 抖音免费蓝v是永久的吗?需要什么条件? 求皮卡堂金冠。女号跪求啦!要钱很多很多。衣服很多很多。要发35级以 ... 3a证书多少钱一套 成人教育都包括什么 成人教育有哪几种形式 成人教育包括哪些 笔记本电脑的D盘容量问题 荣事达一体式洗衣机怎么用 CSS垂直居中 请问 谁知道扫一扫是什么扫的。谢谢! oppo手机怎么设置微信美颜 什么是微信扫一扫? 请问95510是什么客服电话呀?怎么会打给我呢?奇怪 pets3仅仅过笔试相当于什么水平 有哪些相当于本科水平的计算机证书比较好找工作? 考研,全国大学英语四级考试成绩达到及格水平或具有相当水平,请问这具有相当水平是嘛意思 我国科技事业与国际先进水平有相当大的差距,这个观点对不对? 形容两个人水平能力相当的成语 陈忠徐紫砂作品。相当有水平。为什么查不到他职称 OPPOR5是不是出问题了? 加淘宝卖家下单可靠吗 我前面头发干枯脱落,请教 为什么我的iphonexr打电话的时候别人听不见,只有开扬声器就听得见 “诫子书”中的书是什么意思? 张之洞《诫子书》中“反足贻堂上以忧”怎样译,其中“堂上”是什么意思?谢谢了 张之洞的诫子书 世界上真的有蓝色的西瓜吗? 花呗红包是不是只有开通了才可以有,如图 世界上到底有没有蓝色西瓜 西瓜有紫色和蓝色的吗? 西瓜有蓝色吗? 西瓜有可能是蓝色的吗? 谁见过这种蓝色的西瓜吗? 支付宝领到的红包怎么都存入花呗里了?开通不了花呗红包没法用啊。人家领的是余额宝红包。 植物大战僵尸里面的蓝色西瓜那来的啊??? 支付宝里“花呗”提供的红包,在淘宝上买东西时,还要先开通花呗吗?那个红包是免费的吗?用后还用还吗? 我玩的版本怎么没出蓝色西瓜,白色南瓜罩,白色冰冻水晶呢 求解,蓝色西瓜是怎么回事?转基因的? 梦见吃蓝色西瓜 午休时梦见吃蓝色西瓜是怎么回事 辣椒豆豉酱要怎样制作? 为什么西瓜瓤是红色*的而没有蓝色黑色... 酒店豆豉酱配制 西瓜瓤为什么是红色黄色而没有兰色的 支付宝官网站怎么登录 蓝色西瓜你该补存酒精了,求图片 西瓜的颜色在英语里面的颜色应该是什么