Fresh.587 2021-11-13 23:29 采纳率: 88%
浏览 35
已结题

java里创建的类对象如何输入参数?


package javaapplication22;
import java.util.Scanner;
public class JavaApplication22 {   
     public static void main(String[] args) {
              char x;    
   Scanner reader=new Scanner(System.in); 
      System.out.println("请输入想要计算的图形:");   
    System.out.println("y:圆形\tj:矩形\ts:三角形\t");  
     x=reader.next().charAt(0);    
   if(x=='y'){     
   double r;    
   Shape yuanxing=new Circle("圆形",r);  
     System.out.println("请输入圆形的半径:");  
     r=reader.nextDouble();    
   System.out.print("周长="+yuanxing.getLength());  
     }    
   else if(x=='j'){   
        double c,k;    
   Shape juxing=new Rectangle("矩形",c,k);  
     System.out.println("请输入矩形的长和宽");
       c=reader.nextDouble();    
   k=reader.nextDouble();   
    System.out.print("周长="+juxing.getLength());    
   }     
  else if(x=='s')       {    
   double a1,a2,a3;   
    Shape sanjiaoxing=new Triangle("三角形",a1,a2,a3);  
     System.out.println("请输入三角形的三边:"); 
      a1=reader.nextDouble(); 
      a2=reader.nextDouble();     
  a3=reader.nextDouble();  
     System.out.print("周长="+sanjiaoxing.getLength());    
          }      
                          }  
  }
abstract class Shape{  
  protected String name; 
   public Shape(String xm)    {   
     name=xm;   
     System.out.println("名称"+name);  
  }   
 abstract public double getLength();
}
class Circle extends Shape{   
 private final double PI=3.14; 
   private double radius; 
   public Circle(String shapeName,double r)    
{      
  super(shapeName);  
      radius=r; 
   }   
 public double getLength()    {   
   return 2*PI*radius;  
    }   
 }
class Rectangle extends Shape{  
  private double width; 
   private double height; 
   public Rectangle(String shapeName,double width,double height) 
   {    
    super(shapeName);    
    this.width=width;   
     this.height=height;  
  } 
   public double getLength() 
   {     
   return 2*(width+height);  
  }
}
class Triangle extends Shape{   
 private double a1,a2,a3; 
   public Triangle(String shapeName,double a1,double a2,double a3)  
  {      
  super(shapeName);    
    this.a1=a1;    
    this.a2=a2;   
     this.a3=a3;    
        }    
public double getLength(){   
     return a1+a2+a3; 
   }}

img


怎样才能输入r,c,k,a1,a2,a3这三个变量?还是只能在创建对象是输入固定值?求指点!

  • 写回答

1条回答 默认 最新

  • 大鹏cool Java领域优质创作者 2021-11-14 09:35
    关注

    变量需要先赋值后使用,定义变量的时候可以直接使用 Scanner 读取值并赋给变量

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月29日
  • 已采纳回答 11月21日
  • 创建了问题 11月13日

悬赏问题

  • ¥15 在误装Windows server2019 后如何利用Windows.old恢复?
  • ¥20 代码实现状态连接包过滤防火墙的设计与实现
  • ¥15 vscode的红色箭头爆红和has no default export报错
  • ¥15 关于#sql#的问题:#情况描述 在用vs对项目进行调试时,出现找不到网络路径,然后查看SQL配置工具,发现SQL服务显示远程调用过程失败(相关搜索:防火墙)
  • ¥15 eNSP中基于默认路由及浮动路由的公司与分部互联和校园网综合项目
  • ¥15 主要进行描述泥浆在管路不同区段泥浆的密度不相同,泥浆的密度有高有低,此时管路的摩阻分布需要怎么计算,(标签-matlab)
  • ¥40 通过编制程序计算圆管内层流充分发展对流换热,参数如图5-4,以及公式5-16所示,要求用表5-6对程序计算准确性进行验证
  • ¥20 该学习哪个编程语言? AI会取代程序员吗?
  • ¥15 ensp如何拼通IP地址
  • ¥15 saber软件导入Ibis模型报错