Posted by:sunjavaduke
Posted on:2006-05-10 20:04
帮你简要写了写
可以运行,一般情况就可以这样处理了
如果你可以的话,把附加的判断加进来
没有时间帮你弄仔细,因为要把逻辑情况考虑完全太费时间
我又没有那么多的时间
import java.awt.*;
import javax.swing.*;
public class SimpleDemo
{
public static void main(String[] args)
{
String num1,num2,result;
int number1,number2;
num1=JOptionPane.showInputDialog(null,"输入分子","请输入分子(整数)",JOptionPane.PLAIN_MESSAGE);
number1=Integer.parseInt(num1);
num2=JOptionPane.showInputDialog(null,"输入分母","请输入分母(整数)",JOptionPane.PLAIN_MESSAGE);
number2=Integer.parseInt(num2);
while(number2==0)
{
num2=JOptionPane.showInputDialog(null,"输入分母","分母不能为0,请重新输入分母(整数)",JOptionPane.ERROR_MESSAGE);
number2=Integer.parseInt(num2);
}
if(number1==0)
{
JOptionPane.showMessageDialog(null,num1+"/"+num2+" 化简的结果为:0","化简结果",JOptionPane.INFORMATION_MESSAGE);
}
else
{
result=treatProcess(number1,number2);
JOptionPane.showMessageDialog(null,num1+"/"+num2+" 化简的结果为:"+result,"化简结果",JOptionPane.INFORMATION_MESSAGE);
}
}
public static String treatProcess(int num,int denum)
{
String result;
int number1=0,number2=0;
int flag=(int)(num/denum);
if(flag==0)
{
for(int i=1;i<=num;i++)
{
if((num%i==0)&&(denum%i==0))
{
number1=num/i;
number2=denum/i;
}
}
}
else
{
for(int i=1;i<=denum;i++)
{
if((num%i==0)&&(denum%i==0))
{
number1=num/i;
number2=denum/i;
}
}
}
result=number1+"/"+number2;
return result;
}
}
//还可以添加一下处理当在输入对话框中未输入数直接点确定或者取消时的情况
//这里没有帮你添加,可以直接写一个判断String对象是否为null
//还有如果输入的整数大过int范围时的情况