簡體   English   中英

我如何將 2 位數字識別為分隔數字?

[英]How do i recognize 2 digits as separated digits?

所以基本上作業說我需要從用戶那里得到一個數字 'n' 並且對於 1 到 'n' 之間的所有數字,程序將打印所有除以 3的數字而沒有殘留&&僅打印兩者(或一)他們的數字等於或小於 5 ,例如,如果用戶給 22 程序打印3,12,21

這就是我現在所做的(我打問號的地方是我很難弄清楚該怎么做)所以這段代碼還沒有編譯:

public static void main(String[] args) {
    Scanner get = new Scanner(System.in);
    int num;
    System.out.println("Enter A Random Number: ");
    num = get.nextInt();
    for (int i=1;i>0 && i<=num;i++) {
        if (i%3==0 && ?)
        System.out.println(i);

我對你問題的第二部分有點困惑,但基於第一部分和我從第二部分得到的內容(應該只打印等於或小於 5 的數字的數字總和)這里是您程序的代碼:(它應該可以完美運行,如果您發現任何問題,請更新我)

    public static void main(String[] args) {
    Scanner get = new Scanner(System.in);
    int num;
    System.out.println("User please enter a number of your choice : ");
    num = get.nextInt();

    for(int x = 1 ; x < num ; x++){
    String number = ""+ x ;
    int sum = 0 ;

    for(int i = 0 ; i < number.length() ; i ++ ){
         sum +=number.charAt(i)-'0' ; }

    if(x % 3 == 0 && sum <= 5){
       System.out.println(x) ; }

    sum = 0 ; 
    }
   }

這會做。 因此,您必須遍歷每個數字,因此,我將其轉換為字符串,然后在該字符上匹配 1 到 5 的正則表達式,然后將其放回另一個字符串中並解決它。

public static void main(String[] args) {
Scanner get = new Scanner(System.in);
int num;
System.out.println("Enter A Random Number: ");
num =Integer.parseInt(get.nextLine());
for(int i =1;i<=num; i++){

    if(i%3==0){
        String input = Integer.toString(i);
        String toPrint = "";
        for(int j =0 ; j<input.length();j++){
            if(Character.toString(input.charAt(j)).matches("^[1-5]$")){
                toPrint+=Character.toString(input.charAt(j));
            }
        }
               //check the length to avoid cases like 30,60 etc.
                if(input.length()==toPrint.length()){
                System.out.println(toPrint);
        }

    }  
}

}

除以 3 無余數

如果您了解“無殘留”的含義,那么我假設您熟悉模運算。 在編程中,我們有模運算符% ,它返回除法的余數。 所以25 % 8計算結果為1 您可以使用它來獲取21 % 10評估為1的數字的數字,這正是個位數。 要得到十位數字,我們需要先除以 10,然后21 / 10 % 10計算結果為 2。這是有效的,因為整數除法會丟棄余數。

暫無
暫無

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

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