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 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突