2013-02-21 143 views
-3

我該如何去找到3和5的倍數?在Java中找到倍數

我是一個新手,所以沒有太複雜的請。然而,我知道基礎知識。

它會更好創造一個方法,但會採取太長

IE

如果x == 3,5,6等

+0

您可以製作2組,每組有多個,然後組合。否則,我會建議與duffymo的答案。 – 2013-02-22 00:01:51

+0

找到多個地方?你已經有了一組現有的數據,或者你只需​​要從頭開始生成它們? – EJP 2013-02-22 09:16:49

回答

1
if (num % 5 == 0 || num % 3 == 0) // you have a multiple. 

這只是告訴你如果num是3或5的倍數......我想你可能會想出如何使它更一般化,並適合任何數字組合。或者看看duffymo的答案。

+0

這與%操作符的工作方式完全相同嗎?假設%是一個運營商。 – 2013-02-22 00:28:12

+0

@JoeSmith'%'是模運算符。它找出一個數字除以另一個的餘數。 http://en.wikipedia.org/wiki/Modulo_operation – Michael 2013-02-22 01:03:43

+0

這是非常有幫助的,我現在明白了。非常感謝你。 – 2013-02-22 01:53:23

0
package math; 

/** 
* MathUtils description here 
* @author Michael 
* @link 
* @since 2/21/13 6:59 PM 
*/ 
public class MathUtils { 

    public static void main(String[] args) { 
     int [] values = { 
      10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 
      20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 
      30 
     }; 
     int n = 3; 
     int p = 5; 
     for (int i = 0; i < values.length; ++i) { 
      System.out.println(String.format("value %d multiple of %d and %d? %s", values[i], n, p, isEvenMultiple(values[i], n, p))); 
     } 
    } 

    public static boolean isEvenMultiple(int m, int n, int p) { 
     return ((m%n == 0) && (m%p == 0)); 
    } 
} 
+0

或奇數倍。名不副實。 – 75inchpianist 2013-02-22 00:00:37

+0

如果不是太麻煩,你不介意解釋它是如何工作的? – 2013-02-22 01:29:23

+0

好吧,剛剛從for循環請,那裏的東西很多,我不明白,至少還沒有。 – 2013-02-22 01:38:29

0

該程序只打印非負倍數,也打印出可以用32位補碼錶示的倍數。但在那些方面,它應該全部打印出來,按順序排列,不要重複。

int m3 = 0 ; 
int m5 = 0 ; 
while(m3 >= 0 || m5 >= 0) { 
    if(m5 < 0 || m3 < m5) { 
     System.out.println(m3) ; 
     m3 += 3 ; } 
    else if(m3 < 0 || m5 < m3) { 
     System.out.println(m5) ; 
     m5 += 5 ; } 
    else { 
     System.out.println(m3) ; 
     m3 += 3 ; m5 += 5 ; } }