Java编程输出如下图形 # # # # # # # # # # # # # # # # # # # # #
6个回答
展开全部
/**
* 把序列抽象出来
* @param <T> 序列中的数据类型
*/
interface Sequence<T> {
/**
* 获取序列中位置n上的对象
*
* @param n 位置
* @return 位置n上的对象
*/
T get(int n);
}
/**
* 等差数列
*/
class ArithmeticSequence implements Sequence<Integer> {
private int f = 0, step = 1;
/**
* 起始数和等差值构建等差数列实例
*
* @param first 起始数
* @param step 等差值
*/
ArithmeticSequence(int first, int step) {
f = first;
this.step = step;
}
int getFirst() {
return f;
}
void setFirst(int i) {
this.f = i;
}
int getStep() {
return step;
}
void setStep(int s) {
step = s;
}
public Integer get(int n) {
if (n < 1) throw new RuntimeException("n should >= 1");
//注意:这里依旧针对接口 getFirst() 和 getStep() 进行调用
//假如有子类覆盖了 getFirst(), getStep()依旧能保持合理的逻辑。
//如果使用成员变量 f ,step 那么在子类覆盖的时候就不能保持合理的逻辑了
return getFirst() + (n - 1) * getStep();
}
}
/**
* 装饰器
* @author Hardneedl
*/
public interface Decorator<T,V> {
/**
* 装饰
* @param t 待进行装饰的数据
* @return 装饰后的内容
*/
V decorate(T t);
}
/**
* @author Hardneedl
*/
public class CharacterLineDecoratorDemo {
public static void main(String... args) {
final int ROWS = 6;
//构建等差数列的实例
final ArithmeticSequence arithmeticSequence = new ArithmeticSequence(ROWS,-1);
//构建绘图的实现者
Decorator decorator = new Decorator<Integer,CharSequence>() {
private final StringBuilder stringBuilder = new StringBuilder();
public CharSequence decorate(Integer row) {
stringBuilder.delete(0,stringBuilder.length());
int a = arithmeticSequence.get(row);
for(int i = 0; i < a; i++)
stringBuilder.append('#');
return stringBuilder.toString();
}
};
for (int i = 1; i <= ROWS; i++) {
System.out.println(decorator.decorate(i));
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Print{
public static void main(String[] args) {
for (int i =5;i>=0; i--) {
for (int j =0;j<=i;j++) {
if(i==1){
System.out.print("##");
}
System.out.print("#");
}
System.out.println("");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class test{
public static void main(String[] args) {
int length=6;
while(length>0)
{
for (int i = 0; i <length; i++) {
System.out.print("#");
}
System.out.print("\n");
length--;
}
}
public static void main(String[] args) {
int length=6;
while(length>0)
{
for (int i = 0; i <length; i++) {
System.out.print("#");
}
System.out.print("\n");
length--;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class TestPrint {
public static void main(String[] args) {
for (int i = 0; i < 6; i++) {
for (int j = i; j < 6; j++) {
System.out.print("#");
}
System.out.println();
}
}
}
public static void main(String[] args) {
for (int i = 0; i < 6; i++) {
for (int j = i; j < 6; j++) {
System.out.print("#");
}
System.out.println();
}
}
}
追问
不是这样的
追答
是这样的吧!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
lqy7654321那个回答应该是正确的,方法是那个方法,有错估计也是单词啥的小错误,自己复制修改下~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询