View Full Version : سوال: این کدها چیه؟
esmaeilbf
سه شنبه 04 تیر 1392, 13:28 عصر
سلام دوستان
بابت عنوان تاپیک عذر میخوام چون نمیدونستم چی بنویسم!
چند وقتی هست جاوا رو با How To Programming شروع کردم
حالا توی یه مثالش چنین کدی هست:
private enum Status { CONTINUE , WON , LOST };
توی کتاب توضیح نداده چیه ! چون نه متد هتس و نه چیز دیگه ای که تا حالا من یاد گرفتم!
علاوه بر اینها برنامه ارور هم میده .
cups_of_java
سه شنبه 04 تیر 1392, 16:15 عصر
enum همون مجموعه یا کلاس هایی از ثابت ها هستند. واسه وقتی که شما میخواین یه سری ثابت رو تعریف کنی. از جاوا ۵ به بعد اضافه شدند.
esmaeilbf
سه شنبه 04 تیر 1392, 16:41 عصر
سورس کامل رو میزارم :
public class Craps {
//create random number generator for use in method rollDice
private Random randomNumbers = new Random();
//ensumeration with constants that represent the game status
private enum Status { CONTINUE , WON , LOST };
private final static int SNAKE_EYES = 2 ;
private final static int TREY = 3;
private final static int SEVEN = 7;
private final static int YO_LEVEN = 11;
private final static int BOX_CARS = 12;
public void play (){
int myPoint = 0;
Status gameStatus;
int sumOfDice = rollDice();
switch( sumOfDice){
case SEVEN:
case YO_LEVEN:
gameStatus = Status.WON;
break;
case SNAKE_EYES:
case BOX_CARS:
gameStatus.LOST;
break;
default:
gameStatus = Status.CONTINUE;
}//end switch
while(gameStatus == Staus.CONTINUE){
sumOfDice = rollDice();
if(sumOfDice == myPoint){
gameStatus = Status.WON;
}
else{
if(sumOfDice == SEVEN)
gameStatus = Status.LOST;
}
}//end while
if(gameStatus == Status.WON)
System.out.println("player wins");
else
System.out.println("player loses");
public int rollDice(){
int die1 = 1+ randomNumbers.nextInt(6);
int die2 = 1+ randomNumbers.nextInt(6);
int sum = die1+die2;
System.out.printf("player rolled %d + %d =%d\n",die1,die2,sum);
return sum;
}
}
}
توی خط 6 در واقع یک دسته ثابت با اسم Status تعریف شده؟ وبرای دسترسی به ثابت ها Status.CONSTANT این طوری عمل میکنیم؟!
توی خط 15 gameStatus چی هست؟!
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.