簡體   English   中英

字符串僅接受某些字符

[英]String only accepts certain characters

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        System.out.println("Enter Code");

        String code = input.next();
    }

    public static boolean isValidCode (String code) {

    }
}

當我嘗試限制輸入時,我在Java中遇到了很多麻煩。 在此示例中,我需要字符串代碼僅接受$%符號。 如何檢查以確保沒有數字,字母或其他符號? 謝謝

這應該使包含$和/或%以外的任何內容的字符串無效:

public static boolean isValidCode (String code) {
    return code.matches("^[$%]*$");
}

如果還要求字符串不為空,則將*更改為+ 如果需要接受其他字符,只需將它們添加到字符類列表(方括號之間的字符)即可。

public static boolean isValidCode(String code) {
    return code.matches("[$%]*");
}

如您在regex javadoc中所看到的,尖括號表示您可以在封閉的字符(在您的情況下為$和%)之間進行選擇。 *說必須出現0次或多次。

使用Character類。

這是為您提供的代碼:

public class Hello {




    public static void main(String[] args) {


    Scanner input = new Scanner(System.in);
    System.out.println("Enter Code");

     String code = input.next();
     char c = code.charAt(0);
    if( (!Character.isDigit(c)) && (!Character.isLetter(c) && (!Character.isWhitespace(c)))){

        if(c == '%' || c=='$'){

            System.out.println("Its what u want");
        }else{
            System.out.println("Not what u want");
        }
    }else{
        System.out.println("Not what u want$");
    }


     }



}
import java.util.Scanner;

public class Test 
{
    public static void main(String[] args) 
    {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter Code");

        String code = input.next();
        for(int i=0;i<code.length();i++)
        {
            char c = code.charAt(i);

            if((!Character.isDigit(c))&&(!Character.isLetter(c)&&(!Character.isWhitespace(c))))      
            {
                if(c=='%'||c=='$')
                {
                    //What U Want..........
                }
                else
                {
                    System.out.println("Plz! Enter Only '%' or '$'");
                    break;
                }
            }//if
            else
            {
                System.out.println("Allows Only '%' or '$' Symbols");
                break;
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM