那怎么区分用户会不会输入两位数,难道它输入了几位数就是几个数字吗?? 如果是这样: 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; }
import java.awt.*; import java.applet.*; public class Para4 extends Applet {
如果是这样:
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;
}
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;
}
}
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;
}
謝謝喔^^如果我不要用 applet 的方式寫要如何寫丫?
例如在cmd java run 直接那邊輸入,那邊得到答案
不好意思,我笨笨的 >"<