⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shapeexample.java

📁 draw tree java program
💻 JAVA
字号:
import java.util.*;
abstract class shape{
	private char drawingChar='*';
	protected static final int MIDDLE=40;//only my class and subclass can use it
	protected static void drawChars(char ch, int num){
		for (int i=0;i<num;i++)
		System.out.print(ch);
	}
	
	abstract void draw();

	/**
	 * @return the drawingChar
	 */
	public char getDrawingChar() {
		return drawingChar;
	}

	/**
	 * @param drawingChar the drawingChar to set
	 */
	public void setDrawingChar(char drawingChar) {
		this.drawingChar = drawingChar;
	}
}
class rectangle extends shape{
	private int height;
	private int width;
	
	public rectangle(int height, int width) {
		this.height = height;
		this.width = width;
	}
	public int getHeight() {
		return height;
	}
	public void setHeight(int height) {
		this.height = height;
	}
	public int getWidth() {
		return width;
	}
	public void setWidth(int width) {
		this.width = width;
	}
	public String toString(){
		return "rectangle(height:" + height + ", width:"+ width +", char :"+ getDrawingChar()+")"; 
	}
	 void draw(){
		 for (int i=0; i<height; i++)
			{
				for (int j=0; j<MIDDLE-width/2; j++)
					System.out.print(' '); //leading spaces
					drawChars(getDrawingChar(),width);           
				System.out.println(); //new line
			}
	 }
	
}

class triangle extends shape{
	private int height;

	
	public triangle(int height) {
		
		this.height = height;
	}

	public int getHeight() {
		return height;
	}
	public String toString(){
		return "Triangle(height:" + height + ", char :"+getDrawingChar()+")";      
	}
	public void setHeight(int height) {
		this.height = height;
	}
	void draw(){
		for (int i=0;i<height;i++)
		{   for(int j=0;j<MIDDLE-i;j++)
		       System.out.print(' ');
		         drawChars(getDrawingChar(),2*i+1);             
		        System.out.println();
		 }
	}
	
}
class tree extends shape{
	private int height;
	private int stem;
	
	public tree(int height,int stem) {
        this.stem = stem;
		this.height = height;
	}

	public int getHeight() {
		return height;
	}

	public void setHeight(int height) {
		this.height = height;
	}
	
	public int getStem() {
		return stem;
	}

	
	public void setStem(int stem) {
		this.stem = stem;
	}
	public String toString(){
		return "Tree(height:" + height + ", stem:" + stem + ", char :"+getDrawingChar()+")";     
	}
	void draw(){
		for (int i=0;i<height;i++)
		{   for(int j=0;j<MIDDLE-i;j++)
		       System.out.print(' ');
			   drawChars(getDrawingChar(),2*i+1);  
		        System.out.println();
		 }
	for (int i=0;i<stem;i++)
	    {  for(int l=0;l<MIDDLE;l++)
		       System.out.print(' ');
	           drawChars(getDrawingChar(),1); 
	           System.out.println();
	    }
	    
	}

	
	
}
public class shapeExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
    shape s[] = new shape[5];
    Scanner scanner= new Scanner(System.in);
    System.out.println("Creating 5 shapes.");
    for (int i=0;i<5;i++)
    {System.out.println(i+": Type of shape? Rectangle, Triangle, treE (\"R\" or \"T\" or \"E\"):");
	 String type=scanner.next();
	 if(type.charAt(0)=='R'||type.charAt(0)=='r')
	 	{
		 	System.out.println("Enter the rectangle's width height (integer integer):");
	 		int width=scanner.nextInt();
	 		int height=scanner.nextInt();
	 		s[i]= new rectangle(height,width);
	 		
	 		
	 	}
	 else if(type.charAt(0)=='T'||type.charAt(0)=='t')
	 {
	     	System.out.println("Enter the triangle's height (integer):");
	     	int height=scanner.nextInt();
	     	s[i]= new triangle(height);
	     
	 }
	 else if(type.charAt(0)=='E'||type.charAt(0)=='e')
	 {
	     	System.out.println("Enter the tree's height stem (integer integer):");
	     	int height=scanner.nextInt();
	     	int stem=scanner.nextInt();
	     	s[i]= new tree(height,stem);
	     	
	 }
	 
		 
    }
    System.out.println("Enter drawing character for all shapes:");
    String ch=scanner.next();
    for (int i=0;i<5;i++)
    	{s[i].setDrawingChar(ch.charAt(0));
    	System.out.println(s[i]);
    	s[i].draw();
    	}
}
}
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -