0

私はObjective-Cを初めて使用しますが、ここでどこが間違っているのか完全にはわかりません。正方形の面積と周囲長を印刷するプログラムを取得しようとしています。プログラムは、宣言されていない識別子を境界メソッドと領域メソッドに送信していることを通知しています

#import <Foundation/Foundation.h>

@interface Rectangle : NSObject
{
int width;
int height;
}

-(void) setWidth: (int) w;
-(void) setHeight: (int) h;
-(int) width;
-(int) height;
-(int) area;
-(int) perimeter;

@end

@implementation Rectangle


-(void) setWidth:(int)w   
{
width = w;
}

-(void) setHeight: (int)h
{
height = h;
}

-(int) width
{
return width;
}

-(int) height
{
return height;
}

-(int) area
{
return width*height;
}

-(int) perimeter
{
return (2*width + 2*height);
}


@end
int main(int argc, const char * argv[])
{

@autoreleasepool {

    Rectangle *rect1 = [[Rectangle alloc] init];

    [rect1 setWidth:2];
    [rect1 setHeight:7];

    NSLog(@"The perimeter of rect1 is: %i and the area is: %i", area, area);


}
return 0;
}
4

3 に答える 3

1

areaという名前の変数はなく、メソッドです。試してみてください[rect1 area];[rect1 perimeter];あなたはすでにオブジェクトを作成し、2つのメソッドを正しく使用しました、あなたはその領域を滑らせました:(頑張ってください!

于 2012-08-21T20:59:16.760 に答える
1

好奇心から、どのような学習リソースを使用していますか?

スタンフォード大学のPaulHegartyのiOS開発コースを強くお勧めします。すべて無料で、すべてをガイドします(ObjC構文、iOS SDKなど)

http://www.stanford.edu/class/cs193p/cgi-bin/drupal/

于 2012-08-21T21:10:42.093 に答える
0

行を次のように変更しました:

NSLog(@"The perimeter of rect1 is: %i and the area is: %i", [rect1 area], [rect1 perimeter]);

そしてそれは私に正しい結果を与えました、助けてくれてありがとう!

于 2012-08-21T21:20:54.237 に答える