求助:键盘输入的问题
import java.lang.Math;public abstract class Area {
public abstract double area();
}
public class RectArea extends Area{
double x,y;
public double area() {
double s1;
s1=x*y;
System.out.println("s1="+s1);
return s1;
}
}
public class RoundArea extends Area{
double z;
public double area(){
double s2;
s2=Math.PI*z*z;
System.out.println("s2="+s2);
return s2;
}
}
public class ImpleArea{
public static void main(String args[]){
RectArea f1=new RectArea();
RoundArea f2=new RoundArea();
try{
System.in.read(double x,double y,double z);
}
catch(Exception e){
System.out.println("error:"+e.toString());
}
f1.area();
f2.area();
}
}
我是新手,不知道 这程序应该怎么改?
望大家帮助一下
谢谢
----------------解决方案--------------------------------------------------------
你这个输入是错误的
System.in.read(double x,double y,double z);
----------------解决方案--------------------------------------------------------
应该怎么样改呢?
----------------解决方案--------------------------------------------------------
应该用缓冲流 输入格式
----------------解决方案--------------------------------------------------------
应该怎么样改呢?
----------------解决方案--------------------------------------------------------
真是不好意思哦!
我才学JAVA
那个程序就是要求要从键盘接受输入,输入的内容分别为长方形的边和圆的半径,我还没学缓冲流格式
那该怎么搞啊
----------------解决方案--------------------------------------------------------
BufferedReader in= new BufferedReader(new InputStreamReader(System.in));
x=Long.parseLong(in.readLine());
y=Long.parseLong(in.readLine());
z=Long.parseLong(in.readLine());
----------------解决方案--------------------------------------------------------
改成double就行
----------------解决方案--------------------------------------------------------
BufferedReader in= new BufferedReader(new InputStreamReader(System.in));
x=Long.parseLong(in.readLine());
y=Long.parseLong(in.readLine());
z=Long.parseLong(in.readLine());
把那个输入语句改成这样吗?
好像不行哦!
出现错误:
D:\Documents and Settings\liumin\First\src\ImpleArea.java:16: 类 Area 是公共的,应在名为 Area.java 的文件中声明
public abstract class Area {
D:\Documents and Settings\liumin\First\src\ImpleArea.java:19: 类 RectArea 是公共的,应在名为 RectArea.java 的文件中声明
public class RectArea extends Area{
D:\Documents and Settings\liumin\First\src\ImpleArea.java:28: 类 RoundArea 是公共的,应在名为 RoundArea.java 的文件中声明
public class RoundArea extends Area{
D:\Documents and Settings\liumin\First\src\ImpleArea.java:41: 找不到符号
符号: 类 BufferedReader
位置: 类 ImpleArea
BufferedReader in= new BufferedReader(new InputStreamReader(System.in));
D:\Documents and Settings\liumin\First\src\ImpleArea.java:41: 找不到符号
符号: 类 BufferedReader
位置: 类 ImpleArea
BufferedReader in= new BufferedReader(new InputStreamReader(System.in));
D:\Documents and Settings\liumin\First\src\ImpleArea.java:41: 找不到符号
符号: 类 InputStreamReader
位置: 类 ImpleArea
BufferedReader in= new BufferedReader(new InputStreamReader(System.in));
6 错误
????????????????????????
真有点搞不懂了!
----------------解决方案--------------------------------------------------------
崩溃啊!
我把程序改了,没有错误了,但怎么会是这样的结果啊
s1=0.0
s2=0.0
修改的程序如下:
import java.io.*;
import java.lang.Math;
abstract class Area {
public abstract double area();
}
class RectArea extends Area{
double x,y;
public double area() {
double s1;
s1=x*y;
System.out.println("s1="+s1);
return s1;
}
}
class RoundArea extends Area{
double z;
public double area(){
double s2;
s2=Math.PI*z*z;
System.out.println("s2="+s2);
return s2;
}
}
public class ImpleArea{
public static void main(String args[]){
RectArea f1=new RectArea();
RoundArea f2=new RoundArea();
double x,y,z;
try{
BufferedReader in= new BufferedReader(new InputStreamReader(System.in));
x=Long.parseLong(in.readLine());
y=Long.parseLong(in.readLine());
z=Long.parseLong(in.readLine());
}
catch(Exception e){
System.out.println("error:"+e.toString());
}
f1.area();
f2.area();
}
}
有没有哪个指点一下
----------------解决方案--------------------------------------------------------