public Static MulDigits(long n)寫1個method,讓用戶輸入數字..然後吧他們成起來..
如果用戶輸入的是 335 那答案是 45
MulDigits(335) returns 3*3*5 = 45

解决方案 »

  1.   

    这个很简单啊,先把335分割开来,然后转换成int的数字,然后相乘就解决了哦
      

  2.   

    那怎么区分用户会不会输入两位数,难道它输入了几位数就是几个数字吗??
    如果是这样:
    1.就让这个long类型的n先与10求余  既 int k = n % 10;  可就是他的最后一位,
    2.然后让n = n / 10;  k = n % 10;
    这样反复循环知道n = 0;的时候,退出循环.public static long mulDigits(long n) {
    long res = 1;
    do {
    long k = n % 10;
    res *= k;
    n /= 10;
    } while (n != 0);
    return res;
    }
      

  3.   

    import java.awt.*;
    import java.applet.*;
    public class Para4 extends Applet {

    Label lblEnter;
    TextField txtEnter;
    long enter;
    boolean isfirst;
    public void init() {
    lblEnter=new Label("请输入整数:");
    txtEnter=new TextField(30);
    isfirst=true;
    add(lblEnter);
    add(txtEnter);
    }
    public long MulDigits(long n)
    {
    long result=1;
    String str="";
    str=Long.toString(n);
    if(str.startsWith("-"))
    {
    str=str.substring(1);
    }
    for(int i=0;i<str.length();i++)
    {
    result*=Long.parseLong(Character.toString(str.charAt(i)));
    }
    if(n<0)
    {
    result=-result;
    }
    return result;
    } public void paint(Graphics g) {
    if(isfirst)
    {
    g.drawString("请输入整数,进行计算!",25,125);
    }
    else
    {
    g.drawString(Long.toString(MulDigits(enter)),25,125);
    }
    }
    public boolean action(Event e,Object o)
    {
    if(e.target==txtEnter)
    {
    isfirst=false;
    enter=Long.parseLong(txtEnter.getText());
    repaint();
    }
    return true;
    }
    }
      

  4.   

    注意参数是long哦,结果会很大,所以要用big型来做; public static BigInteger mulDigits(long n) {
    BigInteger res = BigInteger.valueOf(1L);
    String inStr = String.valueOf(n);

    for(int i = 0;i<inStr.length();i++){
    String temp = String.valueOf(inStr.charAt(i));
    res =res.multiply(BigInteger.valueOf(Long.valueOf((temp))));
    }
        return res;
    }
      

  5.   


    謝謝喔^^如果我不要用 applet 的方式寫要如何寫丫? 
    例如在cmd java run 直接那邊輸入,那邊得到答案 
    不好意思,我笨笨的 >"<
      

  6.   

    道歉,我在5楼说错了,计算的结果是不会超出long型范围的…… 
      

  7.   

    把输入的数字String一下,之后用String.char(idex n)逐个取出单个字符并int一下,之后相乘得结果。