所以问题如下:
“为Rectangle类编写一个名为draw的方法,该方法使用破折号和竖线字符绘制矩形。以下代码序列
Rectangle *myRect = [[Rectangle alloc]init];
[myRect setWidth : 10 andHeight : 3];
[myRect draw];
会产生以下输出:“
(我无法向你展示这张照片,但它是一个由“ - ”破折号和“|”条形字符组成的矩形。破折号用于高度的宽度和条形字符。)
我开始做这样的方法:
{
int n;
for ( n = 1 ; n <= self.width ; ++n)
printf ("-");
for ( n = 1 ; n <= self.height ; ++n){
printf ("\n|");
}
printf("\n");
for ( n = 1 ; n <= self.width ; ++n){
printf ("-");
}
但似乎它不会像那样工作,我不能让它显示外(|)行。有人可以帮我这个吗?
答案 0 :(得分:0)
我相信您正在使用Objective-C,但这里有一组我在C中测试的简单代码,应该很容易翻译:
void printRectangle(int width, int height)
{
int n;
int z;
printf(" ");
for (n = 1 ; n <= width ; n++)
printf ("-");
printf("\n");
for ( n = 1 ; n <= height ; n++)
{
printf ("|");
for(z = 1; z <= width; z++)
printf(" ");
printf("|\n");
}
printf(" ");
for ( n = 1 ; n <= width ; ++n)
printf ("-");
printf("\n");
}
宽度= 10,高度= 5
的输出 ----------
| |
| |
| |
| |
| |
----------
答案 1 :(得分:0)
抱歉,我没有看到上面接受的答案。但是,我会把它留下来。
我没有在目标C中测试它。但是试一试:)
for (int y = 0; y <= self.width; y++) {
for (int x = 0; x <= self.width; x++) {
if (x == 0 || y == 0 || x == self.width || y == self.height) {
if (y == 0 || y == self.height) {
printf("-");
}
else if (x == 0 || x == self.width) {
printf("|");
}
if (x == 10) {
printf("\n");
}
} else {
printf(" ");
}
}
}
这是用java编写的,我只是更改了一些与你匹配的单词。 :)
输出:
-----------
| |
| |
| |
| |
| |
| |
-----------
答案 2 :(得分:0)
// Created by Victor Diaz on 11/10/13.
// Copyright (c) 2013 Victor Diaz . All rights reserved.
// lines of code are submitted but i have just inputed here the function draw
-(void)draw{
int i=0;
printf(" ");
for(i=0; i<=width;i++){
printf("-");
}
printf("\n");
for(i=0;i<=height;i++){
printf("|");
for (int z=0; z<width; z++)
printf(" ");
printf(" |\n");
}
printf(" ");
for (i=0; i<=width; i++) {
printf("-");
}
printf("\n");
}
@end