java中怎么输出不了?

importjava.util.Scanner;publicclassTest4{privatestaticdoublewidth;privatestaticdouble... import java.util.Scanner;
public class Test4{
private static double width;
private static double length;
private String perimeter;
private String area;
//
private Test4(){}
//
private void Test4(double width,double length){
this.width=width;
this.length=length;}
//set get
public void setwidth(double width){
this.width=width;}
public void setlength(double length){
this.length=length;}
public double getwidth(){
return this.width;}
public double getlength(){
return this.length;}
//
public double getperimeter(){
return (width+length)*2;}
public double getarea(){
return width*length;}
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入长方形的长");
length = sc.nextInt();
System.out.println("请输入长方形的宽");
width = sc.nextInt();
System.out.println("长方形的周长是:"+sc.perimeter()+"长方形的面积是:"+sc.area());
}
}
为什么输出不了?难道sc.perimeter()这样的格式不对吗?
展开
 我来答
白眉鹰王天鹰教
2014-12-08 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:48.8万
展开全部
函数调用错误,周长,面积可以再main里直接调用,main里面直接调用改成静态方法
注意输入的长和宽只能为整数

import java.util.Scanner;
public class Test4{
private static double width;
private static double length;
private String perimeter;
private String area;
//
private Test4(){}
//
private void Test4(double width,double length){
this.width=width;
this.length=length;}
//set get
public void setwidth(double width){
this.width=width;}
public void setlength(double length){
this.length=length;}
public double getwidth(){
return this.width;}
public double getlength(){
return this.length;}
//
public static double getperimeter(){
return (width+length)*2;}
public static double getarea(){
return width*length;}
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入长方形的长");
length = sc.nextInt();
System.out.println("请输入长方形的宽");
width = sc.nextInt();
System.out.println("长方形的周长是:"+getperimeter()+"长方形的面积是:"+getarea());
// System.out.println("长方形的周长是:"+sc.perimeter()+"长方形的面积是:"+sc.area());
}
}
匿名用户
2014-12-08
展开全部
没有sc.perimeter()这种用法的,你这样写编译都通不过的。
System.out.println("长方形的周长是:"+(width+length)*2+"长方形的面积是:"+width*length);可以直接这样写,也可以直接调用你写的计算方法
追问
这种方法我会但我不想用这种方法,感觉很麻烦而且很老土
追答
你的main方法里面有点错误,我改了一下,直接用就行了
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入长方形的长");
length = sc.nextDouble();
System.out.println("请输入长方形的宽");
width = sc.nextDouble();
System.out.println("长方形的周长是:"+new Test4().getperimeter()+"长方形的面积是:"+new Test4().getarea());
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
优质内容提供者andy
2014-12-08 · TA获得超过1561个赞
知道大有可为答主
回答量:2551
采纳率:72%
帮助的人:767万
展开全部
System.out.println("长方形的周长是:"+sc.perimeter()+"长方形的面积是:"+sc.area()); 改成getperimeter() 和 getarea() 请采纳
追问

追答
你这个问题不是一般的 大 Scanner 里面能有这些方法吗?
width = sc.nextInt();

后面加
Test4 test = new Test4(length, width);
输出 test 的方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
抗是福
2014-12-08 · TA获得超过194个赞
知道答主
回答量:74
采纳率:100%
帮助的人:19万
展开全部
打印错误,自己检查
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式