java验证正负整数11位,小数6位,可以使用正则表达式进行匹配,如下代码:
String str = "^[0-9]{1,11}+([0-9]{1,6})$";//匹配整数11位,小数6位的正则表达式String value = "12345678912345678";
if(valuematches(str)){
Systemoutprintln("匹配");
}else {
Systemoutprintln("不匹配");
}
import javautilScanner;
public class Test40006 {
public static void main(String[] args) {
int ri, repeat;
int temp, flag;
double eps, item, sum;
Scanner in=new Scanner(Systemin);
repeat=innextInt();
for(ri=1; ri<=repeat; ri++){
eps=innextDouble();
sum = 0;
flag = -1;
temp = 0;
while(true){
flag = -1; //正负号标志
item = 10 flag / (2 temp + 1); //一般项
if(Mathabs(item) < eps){
break;
}
temp++;
sum += item; //一般项之和
}
Systemoutprintln((int)(sum10000+05)/10000);
}
}
}
正负好判断,这个还要交就等于没入门。
小数整数不就是,多个精度。
你用"double原数"减去或加上floor("double原数"),剩下部分为0,肯定是整数无疑了。
虽然这方法有点low,但是对于初学者来说,还是挺好的例子,加油吧。
我的代码你看看
import javaawt;
import javaawtevent;
import javaxswing;
class Calculator extends JFrame implements ActionListener
{
JMenuBar menubar;
JMenu menu1,menu2;
JMenuItem item1,item2,item3,item4;
JButton numberButton[];
JButton jjccButton[];
JTextField txtResult;
JPanel p1,p2,p3;
int z;
double x, y;
StringBuffer str;
Calculator(String s)
{ super(s);
setBounds(100,100,320,310);
setVisible(true);
menubar=new JMenuBar();
menu1=new JMenu("编辑");
menu2=new JMenu("查看");
item1=new JMenuItem("复制");
item2=new JMenuItem("粘贴");
item3=new JMenuItem("标准型");
item4=new JMenuItem("科学型");
menu1add(item1);
menu1add(item2);
menu2add(item3);
menu2add(item4);
menubaradd(menu1);
menubaradd(menu2);
setJMenuBar(menubar);
numberButton=new JButton[10];
for(int i=0;i<=9;i++)
{ numberButton[i]=new JButton(""+i);}
jjccButton=new JButton[14];
jjccButton[0]=new JButton("+");
jjccButton[1]=new JButton("-");
jjccButton[2]=new JButton("x");
jjccButton[3]=new JButton("/");
jjccButton[4]=new JButton("=");
jjccButton[5]=new JButton("");
jjccButton[6]=new JButton("←");//推格
jjccButton[7]=new JButton("+/-");//正负号
jjccButton[8]=new JButton("C");//清零
jjccButton[9]=new JButton("√");
jjccButton[10]=new JButton("1/x");
jjccButton[11]=new JButton("MC");
jjccButton[12]=new JButton("MR");
jjccButton[13]=new JButton("MS");
jjccButton[8]setForeground(Colorred);
jjccButton[11]setForeground(Colorblue);
jjccButton[12]setForeground(Colorblue);
jjccButton[13]setForeground(Colorblue);
txtResult=new JTextField(19);
txtResultsetText(" ");
txtResultsetHorizontalAlignment(JTextFieldRIGHT);//文本右对齐
txtResultsetFont(new Font("TimesRoman",FontPLAIN,20));
p1=new JPanel();
p2=new JPanel();
p3=new JPanel();
p3add(txtResult);
p1setLayout(new GridLayout(4,1,2,2));// 网格布局
p2setLayout(new GridLayout(4,3,2,2));
add(p1,BorderLayoutWEST);
add(p2,BorderLayoutEAST);
add(p3,BorderLayoutNORTH);
p1add(numberButton[7]);
p1add(numberButton[8]);
p1add(numberButton[9]);
p1add(numberButton[4]);
p1add(numberButton[5]);
p1add(numberButton[6]);
p1add(numberButton[1]);
p1add(numberButton[2]);
p1add(numberButton[3]);
p1add(numberButton[0]);
p1add(jjccButton[7]);
p1add(jjccButton[5]);
p2add(jjccButton[0]);
p2add(jjccButton[1]);
p2add(jjccButton[2]);
p2add(jjccButton[3]);
p2add(jjccButton[10]);
p2add(jjccButton[9]);
p2add(jjccButton[4]);
p2add(jjccButton[6]);
p2add(jjccButton[8]);
p2add(jjccButton[11]);
p2add(jjccButton[12]);
p2add(jjccButton[13]);
for(int i=0;i<=9;i++)
{ numberButton[i]addActionListener(this);}
for(int i=0;i<=13;i++)
{ jjccButton[i]addActionListener(this);
}
txtResultaddActionListener(this);
str = new StringBuffer();
setResizable(false);
setDefaultCloseOperation(JFrameDISPOSE_ON_CLOSE);//关闭窗口
}
public void actionPerformed(ActionEvent e)
{
try
{
if (egetSource() ==jjccButton[8])//清零
{
txtResultsetText("0");
strsetLength(0);
}
else if (egetSource() == jjccButton[7])//选择正负
{
x = DoubleparseDouble(txtResultgetText()trim());
txtResultsetText("" + (-x));
}
else if (egetSource() == jjccButton[0])//+
{
x = DoubleparseDouble(txtResultgetText()trim()); //把文本区的字符串转化成Double类型,并把值赋予x,清空y的值
strsetLength(0);
y = 0;
z = 1;
}
else if (egetSource() == jjccButton[1])//-
{
x = DoubleparseDouble(txtResultgetText()trim());
strsetLength(0);
y = 0;
z = 2;
}
else if (egetSource() == jjccButton[2])//
{
x = DoubleparseDouble(txtResultgetText()trim());
strsetLength(0);
y = 0;
z = 3;
}
else if (egetSource() == jjccButton[3])// /
{
x = DoubleparseDouble(txtResultgetText()trim());
strsetLength(0);
y = 0;
z = 4;
}
else if (egetSource() ==jjccButton[4])
{
strsetLength(0);
switch (z)
{
case 1:
txtResultsetText("" + (x + y));
break;
case 2:
txtResultsetText("" + (x - y));
break;
case 3:
txtResultsetText("" + (x y));
break;
case 4:
txtResultsetText("" + (x / y));
break;
}
}
else if (egetSource() ==jjccButton[5])
{
if (txtResultgetText()trim()indexOf('') != -1)// 判断字符串中是否已经包含了小数点
{
}
else// 如果没有小数点
{
if (txtResultgetText()trim()equals("0"))// 如果初时显示为0
{
strsetLength(0);
txtResultsetText((strappend("0"+egetActionCommand()))toString());
}
else if (txtResultgetText()trim()equals(""))// 如果初时显示为空则不做任何 *** 作
{
}
else
{
txtResultsetText(strappend(egetActionCommand())toString());
}
}
y = 0;
}
else if (egetSource() ==jjccButton[9])// 求平方根
{
x = DoubleparseDouble(txtResultgetText()trim());
txtResultsetText("数字格式异常");
if (x < 0)
txtResultsetText("负数没有平方根");
else
txtResultsetText("" + Mathsqrt(x));
strsetLength(0);
y = 0;
}
else if (egetSource() ==jjccButton[10])//求倒数
{
x = DoubleparseDouble(txtResultgetText()trim());
txtResultsetText("数字格式异常");
if (x==0)
txtResultsetText("除数不能为零");
else
txtResultsetText("" +1/x);
strsetLength(0);
y = 0;
}
else if (egetSource() ==numberButton[0])// 如果选择的是"0"这个数字键
{
if (txtResultgetText()trim()equals("0"))// 如果显示屏显示的为零不做 *** 作
{
}
else
{
txtResultsetText(strappend(egetActionCommand())toString());
y = DoubleparseDouble(txtResultgetText()trim());
}
}
else// 数字键
{
txtResultsetText(strappend(egetActionCommand())toString());
y = DoubleparseDouble(txtResultgetText()trim());
}
}
catch(NumberFormatException a)
{
txtResultsetText("数字格式异常");
}
}
}
public class jisuanqi {
public static void main(String[] args) {
Calculator win=new Calculator("计算器");
}
}
以上就是关于java如何验证正负整数11位,小数6位正则表达式可以吗全部的内容,包括:java如何验证正负整数11位,小数6位正则表达式可以吗、JAVA程序问题、Java中输入一个double类型,判断他是正整数负整数正小数负小数还是0等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)