通常,除以零时抛出此异常。唯一的问题是当我在分母中nslog变量的值时,值不为零。代码:
breuk.m
#import "breuk.h"
@implementation breuk
@synthesize tellerBreuk;
@synthesize noemerBreuk;
@synthesize ggd;
@synthesize quotientBreuk;
- (id)initWithTeller:(int)mijnTeller andNoemer:(int)mijnNoemer{
self = [super init];
if(self){
int u = mijnTeller;
int v = mijnNoemer;
int temp;
while (v != 0){
temp = u % v;
u = v;
v = temp;
}
ggd = u;
self.tellerBreuk = mijnTeller/ggd;
self.noemerBreuk = mijnNoemer/ggd;
NSLog(@"%i de ggd is %i", self.noemerBreuk, ggd);
//self.quotientBreuk = (float)mijnTeller/mijnNoemer;
}
return self;
}
@end
答案 0 :(得分:2)
见评论:
if(self){
int u = mijnTeller; // For example u == 0
int v = mijnNoemer; // and v == 0
int temp;
while (v != 0){ // you don't come in while loop
temp = u % v;
u = v;
v = temp;
}
ggd = u; // ggd is then == 0
self.tellerBreuk = mijnTeller/ggd; // Error: division by zero
self.noemerBreuk = mijnNoemer/ggd;
NSLog(@"%i de ggd is %i", self.noemerBreuk, ggd);
}