farzad7056
سه شنبه 01 اردیبهشت 1394, 19:36 عصر
سلام دوستان
یه چند روزی می شه برنامه نویسی جاوا رو شروع کردم بنابراین اگه اشکالم ابتداییه پوزش می خوام
این قطعه کدی که نوشتم اسم و فامیل و حقوق ماهیانه فرد رو دریافت می کنه و سپس اسم و فامیل و حقوق سالیانه رو نشون می ده!
منتها یه قسمت از کد رو هر چقد نگاه می کنم مشکلی نمی بینم برنامه درست بعد از این که از متد nextInt استفاده میکنه(سومین استفاده از next در برنامه) وقتی بعدش می خواد از متد nextLine استفاده کنه اون دستور رو رد می کنه!
من کد رو ترتیبش رو جابه جا کردم مشکل رفع شد یعنی اول nextLine ها رو وارد کردم بعد nextInt ها رو!
علت این امر چی می تونه باشه؟
دسته کد اولی کلاس employee
و دسته کد دوم حاوی تابع main
در ضمن من از jdk 7 hsj
//Employee.java
public class Employee
{
String name;
String family;
int mahane;
public Employee(String a, String b, int c)
{
name = a;
family = b;
if(c > 0)
mahane = c;
}
public String getName()
{
return name;
}
public String getFamily()
{
return family;
}
public int getMahane()
{
return mahane;
}
public int getAnnual()
{
int annual = 12 * mahane;
return annual;
}
public double getNewMahane()
{
double newMahane = mahane * 1.1;
return newMahane;
}
public double getNewAnnual()
{
double newAnnual = 12 * 1.1 * mahane;
return newAnnual;
}
}
//EmployeeTest.java
import java.util.Scanner;
public class EmployeeTest
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("Name khod ra vared konid: ");
String nam1 = input.nextLine();
System.out.println("Familie khod ra vared konid: ");
String famil1 = input.nextLine();
System.out.println("hoghughe mahiane ra vared konid: ");
int mahiane1 = input.nextInt();
System.out.println("Name khod ra vared konid: ");
String nam2 = input.nextLine();
System.out.println("Familie khod ra vared konid: ");
String famil2 = input.nextLine();
System.out.println("hoghughe mahiane ra vared konid: ");
int mahiane2 = input.nextInt();
Employee employee1 = new Employee(nam1, famil1, mahiane1);
Employee employee2 = new Employee(nam2, famil2, mahiane2);
System.out.println("\tnam\t\tfamil\t\tmahane\t\tannual");
System.out.printf("1\t%s\t\t%s\t\t%d\t\t%d\n", employee1.getName(), employee1.getFamily(), employee1.getMahane(),employee1.getAnnual());
System.out.printf("2\t%s\t\t%s\t\t%d\t\t%d\n\n", employee2.getName(), employee2.getFamily(), employee2.getMahane(),employee2.getAnnual());
System.out.println("BAD AZ EMALE AFZAYESHE 10% HOGHUGH\n");
System.out.println("\tnam\t\tfamil\t\tmahane\t\tannual");
System.out.printf("1\t%s\t\t%s\t\t%.0f\t\t%.0f\n", employee1.getName(), employee1.getFamily(), employee1.getNewMahane(),employee1.getNewAnnual()) ;
System.out.printf("2\t%s\t\t%s\t\t%.0f\t\t%.0f\n", employee2.getName(), employee2.getFamily(), employee2.getNewMahane(),employee2.getNewAnnual()) ;
}
}
یه چند روزی می شه برنامه نویسی جاوا رو شروع کردم بنابراین اگه اشکالم ابتداییه پوزش می خوام
این قطعه کدی که نوشتم اسم و فامیل و حقوق ماهیانه فرد رو دریافت می کنه و سپس اسم و فامیل و حقوق سالیانه رو نشون می ده!
منتها یه قسمت از کد رو هر چقد نگاه می کنم مشکلی نمی بینم برنامه درست بعد از این که از متد nextInt استفاده میکنه(سومین استفاده از next در برنامه) وقتی بعدش می خواد از متد nextLine استفاده کنه اون دستور رو رد می کنه!
من کد رو ترتیبش رو جابه جا کردم مشکل رفع شد یعنی اول nextLine ها رو وارد کردم بعد nextInt ها رو!
علت این امر چی می تونه باشه؟
دسته کد اولی کلاس employee
و دسته کد دوم حاوی تابع main
در ضمن من از jdk 7 hsj
//Employee.java
public class Employee
{
String name;
String family;
int mahane;
public Employee(String a, String b, int c)
{
name = a;
family = b;
if(c > 0)
mahane = c;
}
public String getName()
{
return name;
}
public String getFamily()
{
return family;
}
public int getMahane()
{
return mahane;
}
public int getAnnual()
{
int annual = 12 * mahane;
return annual;
}
public double getNewMahane()
{
double newMahane = mahane * 1.1;
return newMahane;
}
public double getNewAnnual()
{
double newAnnual = 12 * 1.1 * mahane;
return newAnnual;
}
}
//EmployeeTest.java
import java.util.Scanner;
public class EmployeeTest
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("Name khod ra vared konid: ");
String nam1 = input.nextLine();
System.out.println("Familie khod ra vared konid: ");
String famil1 = input.nextLine();
System.out.println("hoghughe mahiane ra vared konid: ");
int mahiane1 = input.nextInt();
System.out.println("Name khod ra vared konid: ");
String nam2 = input.nextLine();
System.out.println("Familie khod ra vared konid: ");
String famil2 = input.nextLine();
System.out.println("hoghughe mahiane ra vared konid: ");
int mahiane2 = input.nextInt();
Employee employee1 = new Employee(nam1, famil1, mahiane1);
Employee employee2 = new Employee(nam2, famil2, mahiane2);
System.out.println("\tnam\t\tfamil\t\tmahane\t\tannual");
System.out.printf("1\t%s\t\t%s\t\t%d\t\t%d\n", employee1.getName(), employee1.getFamily(), employee1.getMahane(),employee1.getAnnual());
System.out.printf("2\t%s\t\t%s\t\t%d\t\t%d\n\n", employee2.getName(), employee2.getFamily(), employee2.getMahane(),employee2.getAnnual());
System.out.println("BAD AZ EMALE AFZAYESHE 10% HOGHUGH\n");
System.out.println("\tnam\t\tfamil\t\tmahane\t\tannual");
System.out.printf("1\t%s\t\t%s\t\t%.0f\t\t%.0f\n", employee1.getName(), employee1.getFamily(), employee1.getNewMahane(),employee1.getNewAnnual()) ;
System.out.printf("2\t%s\t\t%s\t\t%.0f\t\t%.0f\n", employee2.getName(), employee2.getFamily(), employee2.getNewMahane(),employee2.getNewAnnual()) ;
}
}