美文网首页
[Java]设计格子对象

[Java]设计格子对象

作者: 王贵龗 | 来源:发表于2014-11-13 09:19 被阅读69次
设计格子对象

创建一个格子对象:MyGrid
它可以在控制台上显示一个格子。
我们可以设置格子的宽度。设置其中的字符串内容。
可以选择左对齐,中间对齐等等。
加入使用的方法如下:

        MyGrid a = new MyGrid();
        a.show();
        a.setWidth(8);
        a.show();
        a.setString("abc");
        a.show();
        a.setString("abcabcabcabcabc");
        a.show();
        a.setWidth(50);
        a.show();
        a.setAlign(2); //1:左对齐,2:居中,3:右对齐
        a.show();   

它应该显示如下效果:

+---+
|   |
+---+
+--------+
|        |
+--------+
+--------+
|abc     |
+--------+
+--------+
|abcabcab|
+--------+
+--------------------------------------------------+
|abcabcabcabcabc                                   |
+--------------------------------------------------+
+--------------------------------------------------+
|                 abcabcabcabcabc                  |
+--------------------------------------------------+

试实现这个类的设计。

代码:

class MyGrid{
    private int n,x;
    private String str;
    
    public MyGrid(){
        n=3;
        str="";
        x=1;
    }
    
    public void myout1(String a){
        System.out.print("+");
        for(int i=0;i<n;i++)
            System.out.print(a);
        System.out.println("+");
    }
    
    public void myoutstr(int i){
        for(int j=i;j<n&&j-i<str.length();j++){
            System.out.print(str.charAt(j-i));
        }
    }
    
    public void myout2(String a){
        boolean t=true;
        System.out.print("|");
        if(str.length()==0)
            t=false;
        for(int i=0;i<n;i++){
            if(t &&  x==1 && i==0){
                myoutstr(i);
                i=i+str.length()-1;
            }
            else if(t && x==2 && i==(n-str.length())/2){
                myoutstr(i);
                i=i+str.length()-1;
            }
            else if(t && x==3 && i==n-str.length()){
                myoutstr(i);
                i=i+str.length()-1;
            }
            else{
                System.out.print(a);
            }
        }
        System.out.println("|");
    }
    
    public void show(){
        myout1("-");
        myout2(" ");
        myout1("-");
    }
    
    public void setString(String a){
        str=a;
    }
    
    public void setWidth(int a){
        n=a;
    }
    
    public void setAlign(int a){
        x=a;
    }
}

public class Hezi {
    public static void main(String[] args) {
        MyGrid a = new MyGrid();
        a.show();
        a.setWidth(8);
    a.show();
    a.setString("abc");
    a.show();
    a.setString("abcabcabcabcabc");
    a.show();
    a.setWidth(50);
    a.show();
    a.setAlign(2); //1:左对齐,2:居中,3:右对齐
    a.show();
    }
}

相关文章

  • [Java]设计格子对象

    设计格子对象 创建一个格子对象:MyGrid它可以在控制台上显示一个格子。我们可以设置格子的宽度。设置其中的字符串...

  • 《Java核心技术卷 I》之 Java对象与类

    Java对象与类 面向对象程序设计 面向对象程序设计,简称OOP,Java语言就是完全面向对象的。 类 类(cla...

  • 类与对象

    面向对象简介 Java语言的最大的特点在于面向对象的编程设计,并且面向对象的编程设计也在由于Java自身的发展而不...

  • Java设计模式之10_Proxy(代理模式)

    更多Java设计模式:Java设计模式-目录 一、代理简介 为某个对象提供一个代理,以控制对这个对象的访问。代理类...

  • 面向对象的概念

    面向对象(Object Oriented,OO): 面向对象乃是Java语言的核心,是程序设计的思想。Java语言...

  • Java类加载

    1、Java类和类加载 Java是一门面向对象的程序设计语言,类是面向对象的重要内容。Java的设计初衷是为了支持...

  • 2-面向对象简介

        Java语言最大的特点在于面向对象的编程设计,并且面向对象的编程设计也在于Java自身的发展而不断发展。同...

  • Java设计模式之03_Builder(建造者模式)

    更多Java设计模式:Java设计模式-目录 建造者模式(Builder Pattern)使用多个简单的对象一步一...

  • 面向对象设计—类和对象

    原文链接:面向对象设计—类和对象 1. 面向对象程序设计的基本概念 Java是一种面向对象的编程语言。面向对象编程...

  • 对象与类

    对象与类 Tags: Java核心技术卷I 面向对象程序设计概述 面向对象程序设计简单OOP。 类类是构造对象的模...

网友评论

      本文标题:[Java]设计格子对象

      本文链接:https://www.haomeiwen.com/subject/fbfitttx.html