PDA

View Full Version : if then statements



Bobzilla69
05-08-2008, 02:17 PM
i have the following if statement and i am not sure how to exit the if statement, does any one know?
i have tried to use break but it says it is not valid.

here is a pice of the if code.

if (job1=="empty")
{
job1=temp2;

}else if(job1==temp2)
{
break; Need to exit here
}else if(job2=="empty")
{
job2=temp2;
}

Yakman
05-08-2008, 04:34 PM
to exit from the currently executing method?
thats return;
or return [value]; if the method returns anything

Mistran
05-08-2008, 04:41 PM
As far as I can see you don't need to do anything else. If the condition for the else if you've marked is true then it will execute the code within the braces and then jump to below the last else if or else in that block of if statements and continue on with the rest of the method.

If you mean that you want to end that method and return to the one calling it then do as Yakman said and use the return statement

Bobzilla69
05-08-2008, 05:43 PM
ok what i am doing is trying to convert this

program New;
var
namestemp, jobstemp, namejobstemp, temp1, temp2, finalresult1, finalresult2,
finalresult3, finalresult4, finalresult5, finalresult6, finalresult7,
finalresult8, finalresult9, finalresult10, name1,
name2, name3, name4, name5, name6, name7, name8, name9, name10,
job1, job2, job3, job4, job5, job6, job7, job8, job9, job10:String;
i,n,j, p:integer;


procedure inisilise;
begin
i:=0;
job1:='empty';
job2:='empty';
job3:='empty';
job4:='empty';
job5:='empty';
job6:='empty';
job7:='empty';
job8:='empty';
job9:='empty';
job10:='empty';
name1:='empty';
name2:='empty';
name3:='empty';
name4:='empty';
name5:='empty';
name6:='empty';
name7:='empty';
name8:='empty';
name9:='empty';
name10:='empty';
end;

procedure namecheck;
begin
if name1='empty' then
begin
name1:=temp1;
Exit;
end;
if name1=temp1 then
begin
exit;
end;

if name2='empty' then
begin
name2:=temp1;
Exit;
end;
if name2=temp1 then
begin
exit;
end;

if name3='empty' then
begin
name3:=temp1;
Exit;
end;
if name3=temp1 then
begin
exit;
end;

if name4='empty' then
begin
name4:=temp1;
Exit;
end;
if name4=temp1 then
begin
exit;
end;

if name5='empty' then
begin
name5:=temp1;
Exit;
end;
if name5=temp1 then
begin
exit;
end;

if name6='empty' then
begin
name6:=temp1;
Exit;
end;
if name6=temp1 then
begin
exit;
end;

if name7='empty' then
begin
name7:=temp1;
Exit;
end;
if name7=temp1 then
begin
exit;
end;

if name8='empty' then
begin
name8:=temp1;
Exit;
end;
if name8=temp1 then
begin
exit;
end;

if name9='empty' then
begin
name9:=temp1;
Exit;
end;
if name9=temp1 then
begin
exit;
end;

if name10='empty' then
begin
name10:=temp1;
Exit;
end;
if name10=temp1 then
begin
exit;
end;
end;

procedure names;
begin
case Random(10) of
0:namestemp:='james';
1:namestemp:='jess';
2:namestemp:='mike';
3:namestemp:='john';
4:namestemp:='nic';
5:namestemp:='bob';
6:namestemp:='tara';
7:namestemp:='steve';
8:namestemp:='jay';
9:namestemp:='alex';
end;
temp1:=namestemp;
namecheck;
end;


procedure jobcheck;
begin

if job1='empty' then
begin
job1:=temp2;
Exit;
end;
if job1=temp2 then
begin
exit;
end;

if job2='empty' then
begin
job2:=temp2;
Exit;
end;
if job2=temp2 then
begin
exit;
end;

if job3='empty' then
begin
job3:=temp2;
Exit;
end;
if job3=temp2 then
begin
exit;
end;

if job4='empty' then
begin
job4:=temp2;
Exit;
end;

if job5='empty' then
begin
job5:=temp2;
Exit;
end;
if job5=temp2 then
begin
exit;
end;

if job6='empty' then
begin
job6:=temp2;
Exit;
end;
if job6=temp2 then
begin
exit;
end;

if job7='empty' then
begin
job7:=temp2;
Exit;
end;
if job7=temp2 then
begin
exit;
end;

if job8='empty'then
begin
job8:=temp2;
Exit;
end;
if job8=temp2 then
begin
exit;
end;

if job9='empty' then
begin
job9:=temp2;
Exit;
end;
if job9=temp2 then
begin
exit;
end;

if job10='empty' then
begin
job10:=temp2;
Exit;
end;
if job10=temp2 then
begin
exit;
end;
end;

procedure jobs;
begin
case Random(10) of
0:jobstemp:='cleaning';
1:jobstemp:='washing dishes';
2:jobstemp:='sweeping';
3:jobstemp:='weeding';
4:jobstemp:='watering';
5:jobstemp:='sleeping';
6:jobstemp:='eating';
7:jobstemp:='watching tv';
8:jobstemp:='walking the dog';
9:jobstemp:='doing deliveries';
end;
temp2:=jobstemp;
jobcheck;
end;

procedure namejob;
begin
repeat
names;
until(not(name10='empty'))
repeat
jobs;
until(not(job10='empty'))
finalresult1:=name1+' will be '+job1;
finalresult2:=name2+' will be '+job2;
finalresult3:=name3+' will be '+job3;
finalresult4:=name4+' will be '+job4;
finalresult5:=name5+' will be '+job5;
finalresult6:=name6+' will be '+job6;
finalresult7:=name7+' will be '+job7;
finalresult8:=name8+' will be '+job8;
finalresult9:=name9+' will be '+job9;
finalresult10:=name10+' will be '+job10;
writeln('');
writeln(finalresult1);
writeln('');
writeln(finalresult2);
writeln('');
writeln(finalresult3);
writeln('');
writeln(finalresult4);
writeln('');
writeln(finalresult5);
writeln('');
writeln(finalresult6);
writeln('');
writeln(finalresult7);
writeln('');
writeln(finalresult8);
writeln('');
writeln(finalresult9);
writeln('');
writeln(finalresult10);
end;


begin
ClearDebug;
inisilise;
namejob;
writeln('');
writeln('');
writeln('program has finished');
writeln('');
writeln('');
end.

it was just a rough one i did that does the job, even if its a bit long and i could have used arrays but i didnt.

so i want that scar program to work in java.

can anyone help me?

benjaa
05-08-2008, 10:35 PM
isnt it break?

Bobzilla69
05-09-2008, 11:01 AM
no its not, have tryed but get error message

Zigon
06-09-2008, 10:38 PM
I think break; breaks out of a loop, so all it's doing is breaking out of your if statement or nothing at all. Try using a while...loop

markuska815
06-09-2008, 10:57 PM
Ok well if you want it to work in Java you have to use .equals for strings.
Strings are just fucked up like that in Java so it would be
if (Job1.equals('empty'))
{
}

Lorax
06-11-2008, 10:40 AM
in SCAR

procedure IKillYou;
var
a: String;
begin
a := "I Kill";
if (a = "I Kill")then
Exit
else if (.........
end;

in JAVA

public void IKillYou() {
String a = "I Kill";

if (a == "I Kill") {
return
} else if (..........
}
}

just as Yakman said.

Bobzilla69
06-11-2008, 11:52 AM
thanks for the help