1!+2!+…+100! 用JAVA怎么写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1!+2!+…+100! 用JAVA怎么写?相关的知识,希望对你有一定的参考价值。
int ji=1; //积,设为1, 因为x*1=x;int sum=1; //和,设为1, 因为1的阶乘为1; (也可设为0,但会增加一次运算)
for(int i=1;i<=100;i++) //1-100求和
for(int j=2;j<=i;j++) //得到 当前数的阶乘,如:5的阶乘=5*4*3*2*1 //因为sum=1,所以可从2开始
ji*=j;
sum+=ji;
ji=1;
参考技术A //可以使用大数来定义;
package org;
import java.util.*;
import java.math.*;
public class Test
public static void main(String []args)
BigDecimal s=new BigDecimal(0);
BigDecimal temp=new BigDecimal(1);
for(int i=1;i<=50;i++)
temp=temp.multiply(new BigDecimal(i));
s=s.add(temp);
System.out.println(s);
参考技术B public class Test
public static void main(String args[])
double sum=1;
for(int i=1;i<=100;i++)
sum*=i;
System.out.println("值为:"+sum);
参考技术C 留个联系方式,发给你
用Java验证姓名,年龄,电话怎么写。
在JS里面验证了一次,姓名只能为汉字,不能为空,年龄只能为数字120以前,不能为空,电话只能为数字,且只能11位,不能为空 在Java 里面怎么再去验证一次。 求大神, 谢谢!紧急,12点以前要 可以加分。
在Servlet里能直接写吗? 取得页面的值。 怎么写
1、汉字验证
这个方法改一下就行了
* 计算字符串长度. 一个汉字的长度按2计算. 如果给定的字符串为null, 返回0.
*
* @param str
* 待计算长度的字符串
* @return 字符串长度
*/
public static int strlen(String str)
if (str == null || str.length() <= 0)
return 0;
int len = 0;
char c;
for (int i = str.length() - 1; i >= 0; i--)
c = str.charAt(i);
if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z')|| (c >= 'A' && c <= 'Z')) //字母, 数字
len++;
else
if (Character.isLetter(c)) //中文
len += 2;
else //符号或控制字符
len++;
return len;
2、电话
我给你个思路
就是把字符串转化为数字,然后用try catch 如果呢异常就表明是数字,至于长度length一下就行了,
或用这个
邮编号码:xxx.xxxx(都为数字)
固定电话号码:xx-xxxx-xxxx(都为数字)
手机号码:xxx-xxxx-xxxx(都为数字)
一般来说,基本的校验功能留给页面去处理,可以减轻服务器的负担。建议这些功能放在页面完成。
java中的正则表达式:
/**
* java正则表达式来判断是否EMAIL邮件
*
* @param number
* 待检测字符串
* @return 若是返回true,否则返回false
*/
import org.apache.oro.text.regex.MalformedPatternException;
import org.apache.oro.text.regex.Pattern;
import org.apache.oro.text.regex.PatternCompiler;
import org.apache.oro.text.regex.PatternMatcher;
import org.apache.oro.text.regex.Perl5Compiler;
import org.apache.oro.text.regex.Perl5Matcher;
public static boolean checkFomatNumber(String number)
//*Regexp匹配模式
//String postCodeRegexp = "([0-9]3)+.([0-9]4)+"; //邮政编码的匹配模式
//String phoneRegexp = "([0-9]2)+-([0-9]4)+-([0-9]4)+";//固话的匹配模式
String mobileRegexp = "([0-9]3)+-([0-9]4)+-([0-9]4)+"; //手机的匹配模式
PatternCompiler compiler = new Perl5Compiler();
PatternMatcher matcher = new Perl5Matcher();
Pattern pattern = null;
// Initialization of compiler, matcher, and input omitted;
try
//pattern = compiler.compile(postCodeRegexp);
//pattern = compiler.compile(phoneRegexp);
pattern = compiler.compile(mobileRegexp);
catch (MalformedPatternException e)
return false;
if (matcher.matches(number, pattern))
return true;
else
return false;
3、年龄跟电话差不多,也是转换为数字,然后比较一下是否大于120
在Servlet里能直接写吗? 取得页面的值。 怎么写
追答方法你会写吧
你写三个方法
逐一验证就行了,具体的代码没有
if(userName!=null&&userName!="")
if(userName.matches("^[\u4e00-\u9fa5]*$"))
out.println("是中文的");
else
out.println("不是中文的");
else
out.println("姓名不能为空!");
参考技术B @SuppressWarnings("serial")
public class BizException extends RuntimeException
public BizException()
super();
public BizException(String message)
super(message);
public BizException(String message, Exception innerException)
super(message, innerException);
创建这样的一个自定义异常类,在你调用的时候就抛出下面这样的异常
//如果姓名为空
if(Helper.isNullOrEmpty(film.getName()))
throw new BizException("请输入名称");
servlet
if(null == nameString)
request.setAttribute("message", "请输入名称");
disp.forward(request, response);
return;
参考技术C 判断姓名是否汉字
public boolean gbk(String str)
boolean isGB2312=false;
if(!str.equals("") && !str.equals(null))
char[] chars=str.toCharArray();
for(int i=0;i<chars.length;i++)
byte[] bytes=(""+chars[i]).getBytes();
if(bytes.length==2)
int[] ints=new int[2];
ints[0]=bytes[0]& 0xff;
ints[1]=bytes[1]& 0xff;
if(ints[0]>=0x81 && ints[0]<=0xFE && ints[1]>=0x40 && ints[1]<=0xFE)
isGB2312=true;
break;
return isGB2312;
判断年龄
public boolean isAge(String age)
boolean isTrue = false;
if(!age.equals(null) && !age.equals(""))
Pattern pattern = Pattern.compile("[0-9]*");
if(pattern.matcher(age).matches())
int ageInt = Integer.parseInt(age);
if(ageInt < 120 && ageInt > 0)
isTrue = true;
return isTrue;
判断电话
public boolean isTel(String tel)
boolean isTrue = false;
if(!tel.equals(null) && !tel.equals(""))
Pattern pattern = Pattern.compile("[0-9]*");
if(pattern.matcher(tel).matches())
int telInt = Integer.parseInt(tel);
if(tel.length() < 11)
isTrue = true;
return isTrue;
直接编的,试试看OK不。追问
在Servlet里能直接写吗? 取得页面的值。 怎么写
本回答被提问者采纳 参考技术D 这个为啥不直接百度搜索呢以上是关于1!+2!+…+100! 用JAVA怎么写?的主要内容,如果未能解决你的问题,请参考以下文章