| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 620 人关注过本帖
标题:【求助】关于键盘输入的问题
只看楼主 加入收藏
laokuang
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-12
收藏
 问题点数:0 回复次数:5 
【求助】关于键盘输入的问题
如题,按照作业要求做了该程序:
import java.awt.*;
import java.applet.*;
public class AofT extends Applet
{
public static void main(String args[])
{

float a=3;
float h=4;
float s;
s=(a*h)/2;
System.out.println("三角形面积为:"+s+"平方厘米");
}
}
能通过,结果也正确,但当试图a和h的数值由键盘输入的时候却犯难了,主要是不太清楚相关的函数是什么,网上找出来却发现乱得一踏糊涂。和一个scanf就解决的相比真是彻底无语啊。结合一些网上懵懂的资料,程序修改如下:
import java.awt.*;
import java.applet.*;
import java.io.*;
public class AofT extends Applet
{
public static void main(String args[])
{

//float a=3;
//float h=4;

BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
String str1=buf.readLine();
int a=Integer.parseInt(str1);

String str2=buf.readLine();
int h=Integer.parseInt(str2);

float s;
s=(a*h)/2;
System.out.println("三角形面积为:"+s+"平方厘米");
}
}
出错信息是:
--------------------Configuration: j2sdk1.4.1_05 <Default>------------------------------------------------
\JAVA\J_Program\AofT.java:12: unreported exception java.io.IOException; must be caught or declared to be thrown
String str1=buf.readLine();
^
\JAVA\J_Program\AofT.java:15: unreported exception java.io.IOException; must be caught or declared to be thrown
String str2=buf.readLine();
^
2 errors
Process completed.

--------------------------------------------------
才学习了java一周,基础不好,希望大侠指点一二,呵呵。顺便问问啊,那本书作为java的入门教材比较好呢?还有就是关于语言的规范问题要注意什么呢?在哪里可以找到相关资料?(比如我觉得用a,b,c这些字母定义变量似乎很容易乱呢,有没有一个规范呀)

[此贴子已经被作者于2007-10-16 22:53:35编辑过]

搜索更多相关主题的帖子: 键盘 输入 
2007-10-16 22:52
canyue
Rank: 1
等 级:新手上路
威 望:1
帖 子:159
专家分:0
注 册:2007-10-4
收藏
得分:0 

import java.io.*;

public class demo{
public static void main(String args[]){
int x = 0;
try{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String s = bf.readLine();
x = Integer.parseInt(s);
}catch(IOException e){}
System.out.println("x = "+x);
}
}

你刚学还是不要搞的这么复杂,JAVA不详C的输入那么简单,等你以后学了异常和io才能做的。
你不用abc那你就用英语单词呗!


别看我现在只有这么亮,总有一天会月圆的!
2007-10-16 23:35
狂放不羁
Rank: 4
等 级:贵宾
威 望:12
帖 子:925
专家分:0
注 册:2007-1-24
收藏
得分:0 

用try-catch捕获异常。因为IOException不是运行时异常,所以必须捕获。

2007-10-17 00:14
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 

你在main()方法后面抛出IOException就好了


I'm here, as always...
2007-10-17 09:36
laokuang
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-12
收藏
得分:0 
以下是引用canyue在2007-10-16 23:35:00的发言:

import java.io.*;

public class demo{
public static void main(String args[]){
int x = 0;
try{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String s = bf.readLine();
x = Integer.parseInt(s);
}catch(IOException e){}
System.out.println("x = "+x);
}
}

你刚学还是不要搞的这么复杂,JAVA不详C的输入那么简单,等你以后学了异常和io才能做的。
你不用abc那你就用英语单词呗!

恩,问题解决,谢谢!
这是根据给的程序自己扩展了一下,里边不明白的地方希望各位大侠能提示小弟~~
import java.io.*;

public class demo{
public static void main(String args[]){
float x = 0;
float y=0;
float k=0;
try{

BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

//关于这一行还不是很理解呢呵呵~~是不是说,把从键盘输入的字符串赋给new类型的bf啊?

System.out.print("请输入三角形的长:");
String s = bf.readLine();
x = Float.parseFloat(s); //parse****这个不太明白,不同数据类型后面都不同?

System.out.print("请输入三角形的高:");
String w = bf.readLine();
y = Float.parseFloat(w);

}catch(IOException e){}//这行也不理解

k=x*y/2;
System.out.println("面积为 "+k);
}
}
可以运行通过;只是只知道一般用法,不知道为什么是这样有点难受啊呵呵。再次询问java的入门书哪本比较好啊

2007-10-17 11:38
风月_无边
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:60
帖 子:2960
专家分:652
注 册:2007-1-19
收藏
得分:0 
io流的知識看一下就明白了。
Float.parseFloat(s); 這是類型轉換。

我的网站 http://www.
2007-10-17 11:51
快速回复:【求助】关于键盘输入的问题
数据加载中...
 
   



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

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