| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1060 人关注过本帖
标题:[原创]如何从终端输入数字,该引入那些类?
只看楼主 加入收藏
走向成功
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-11-22
收藏
 问题点数:0 回复次数:10 
[原创]如何从终端输入数字,该引入那些类?

要求:
从终端输入两个数字,求出最大公约数和最小公倍数。
我写的程序如下:
import java.io.*;
public class Count{
public static void main(String args[]) throws IOException{
System.out.println("请输入两个数:");
InputStreamReader m=new InputStreamReader(System.in);
BufferedReader n=new BufferedReader(m);
String a=n.readLine();
String y=n.readLine();
int b=Integer.parseInt(a);
int c=Integer.parseInt(y);
if(b<=c)
{
int d;
d=b;
b=c;
c=d;
}
int i, x;
for(i=1;i<=c;i++)
if(b%i==0&&c%i==0)
x=i;
System.out.println("最大公约数是:"+i);
System.out.println("最小公倍数是:"+i*(b%i)*(c%i));
}
}
编辑是没错,运行时也没错,可是不符合要求,那么大侠告诉我,应该使用那些对象?还有没有比这个程序更简单的方法?

搜索更多相关主题的帖子: 输入 数字 终端 
2005-12-03 19:48
endler
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-12-3
收藏
得分:0 
最后的循环错了,应该从大到小循环!
for(i=c;i>1;i--)
if((b%i==0)&(c%i==0))
x=i;
2005-12-03 19:54
走向成功
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-11-22
收藏
得分:0 
这不对吧,我怎么还是运行不了呀?
2005-12-04 10:22
endler
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-12-3
收藏
得分:0 
晕,给你我调试成功的源代码!
import java.io.*;
public class Count{
public static void main(String args[]) throws IOException{
System.out.println("请输入两个数:");
InputStreamReader m=new InputStreamReader(System.in);
BufferedReader n=new BufferedReader(m);
String a=n.readLine();
String y=n.readLine();
int b=Integer.parseInt(a);
int c=Integer.parseInt(y);
if(b<=c)
{
int d;
d=b;
b=c;
c=d;
}
int i, x;
x=1;
for( i=(c+1);i>0;i--){
if((b%i==0)&(c%i==0)){
x=i;
break;//这里应该跳一下!
}
}
System.out.println("最大公约数是:"+x);
System.out.println("最小公倍数是:"+(int)((float)(c*b)/x));

}
}
2005-12-04 22:56
走向成功
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-11-22
收藏
得分:0 

我想问一下,在
for(i=(c+1);i>0;i--){
....
}
这个循环里,i的值为什么要赋给c+1?
难道是在字符转化为整数时int c=Integer.parseInt(y);,改变了值?

4楼的朋友,帮帮忙拉!

2005-12-05 00:28
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
收藏
得分:0 
对啊 我觉得 是 i = c; i &gt; 1; 这样啊~

懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-05 09:12
endler
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-12-3
收藏
得分:0 
i=c,i>=0;i-- 可以
i可能等于1的, c+1 是我调试时测试的!忘了改回来!没有影响的!
2005-12-05 10:52
endler
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-12-3
收藏
得分:0 
看走眼了,6楼的很对,我看差了!
2005-12-05 10:54
cll19820814
Rank: 2
等 级:新手上路
威 望:3
帖 子:328
专家分:0
注 册:2005-11-30
收藏
得分:0 
我的也错了哦,c &gt; 0, 还是你对。

懵懵懂懂,看千遍而不会;设身处地,试一下就成功!
2005-12-05 11:17
endler
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2005-12-3
收藏
得分:0 

呵呵,我调试过了就没有考虑冗余!

2005-12-05 17:26
快速回复:[原创]如何从终端输入数字,该引入那些类?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018176 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved