【问题标题】:Check if the string contains at least two alphabets and check if it's contains other than alphabets检查字符串是否包含至少两个字母并检查它是否包含字母以外的内容
【发布时间】:2020-08-11 02:08:22
【问题描述】:

Java 程序从用户那里获取一个字符串。如果字符串大小是偶数,则反转字符串的第二部分并显示该字符串。如果字符串大小是奇数,则从中间字符反转字符串并显示它。字符串应该只有字母。否则,显示“不是有效字符串”。字符串至少要有两个字母,否则显示“字符串大小太小”。

package Section6;

import java.util.*;
import java.util.regex.Pattern;

public class Challenge6 {

    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter the string: ");
        String str = sc.nextLine();
    
        if (str.length() == 0 || str.length() <= 1) {
            System.out.print("Size of string " + str + " is too low");
            return;
        }
        else if (str.length() == 2 && str.matches("^[a-zA-Z]*$"))
        {
            if(Pattern.matches("^[a-zA-Z]*$", str))
            {
                 Reverse_string(str);
            }
            else 
            {
                System.out.print(str + " is not a valid string");
                return;
            }
        }
        else if (str.length() > 2)
        {
            if(str != null && str.matches("^[a-zA-Z]*$")) {
                Reverse(str);
            }
        }
    }

    public static void Reverse_string(String s) {
        String reverse = ""; 
        int length = s.length();

        for (int i = length - 1 ; i >= 0 ; i--)
              reverse = reverse + s.charAt(i);

        System.out.println(reverse);
    }

    public static void Reverse(String str) {
        int mid = str.length() / 2;
        String[] parts = { str.substring(0, mid), str.substring(mid) };
        String p2 = parts[0]; // first part
        String p1 = parts[1]; // second part

        String s1a = str.substring(0, (str.length() / 2));
        String s1b = str.substring((str.length() / 2));
        System.out.print(p2);
        int i = s1b.length();
        while (i > 0) {
            System.out.print(s1b.charAt(i - 1));
            i--;
        }
    }
}

【问题讨论】:

  • 您发布了问题描述和代码。那么,你在苦苦挣扎的是什么?你想要什么?

标签: java string pattern-matching reverse


【解决方案1】:

只需稍作编辑即可获得所需的输出。

正如我的问题所说,我只需要检查字符串长度是否为 2,但我不应该反转它。所以从这种情况中删除了反向方法。

对于非字母字符检查。我正在检查它,但只需要添加一个打印语句来显示它是一个无效的字符串。

【讨论】:

    猜你喜欢
    • 2016-07-20
    • 2015-01-04
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    • 2014-07-16
    相关资源
    最近更新 更多