&引用;“缺少返回语句”;Java中的错误
我不知道这个怎么了。我已经用其他代码的示例完成了这项工作。而现在我就因为这件事而陷入困境&引用;“缺少返回语句”;Java中的错误,java,constructor,return,Java,Constructor,Return,我不知道这个怎么了。我已经用其他代码的示例完成了这项工作。而现在我就因为这件事而陷入困境 import java.util.Scanner; import java.util.Calendar; public class Praktikum3 { Scanner scan = new Scanner(System.in); Calendar cal = Calendar.getInstance(); String NIP, nama, kelamin, jabat, sub1, sub2,
import java.util.Scanner;
import java.util.Calendar;
public class Praktikum3
{
Scanner scan = new Scanner(System.in);
Calendar cal = Calendar.getInstance();
String NIP, nama, kelamin, jabat, sub1, sub2, sub3, sub4;
int a, b, c, d, e, umur, menjabat, tgllhr, blnlhr, thnlhr, lhr, blnjbt, thnjbt, date, month, year;
public Praktikum3() //constructor
{
System.out.printf("DATA KARYAWAN\n\n"); //menginisialkan constructor
}
public void setNama()
{
System.out.printf("Nama: " );
nama = scan.next();
}
public String getNama()
{
return nama;
}
public void setNIP()
{
System.out.printf("NIP : " );
while (!scan.hasNextLong())
{
System.out.printf("!HARUS ANGKA!\n");
System.out.printf("NIP : ");
scan.next();
}
NIP = scan.next();
if(NIP.length() != 18)
{
System.out.printf("!HARUS 18 KARAKTER!\n");
System.out.printf("NIP : ");
scan.next();
}
sub1 = NIP.substring(0,8); /*substring Tanggal lahir*/
sub2 = NIP.substring(8,14); /*substring Masa menjabat*/
sub3 = NIP.substring(14,15); /*substring Jenis kelamin*/
sub4 = NIP.substring(15,18); /*substring Nomor urut*/
date = cal.get(Calendar.DATE);
month = cal.get(Calendar.MONTH);
year = cal.get(Calendar.YEAR);
a = Integer.parseInt(sub1.substring(6,8));
b = Integer.parseInt(sub1.substring(4,6));
c = Integer.parseInt(sub1.substring(0,4));
d = Integer.parseInt(sub2.substring(4,6));
e = Integer.parseInt(sub2.substring(0,4));
}
public String getSub1()
{
return sub1;
}
public String getSub2()
{
return sub2;
}
public String getSub3()
{
return sub3;
}
public String getSub4()
{
return sub4;
}
public int getTgllhr()
{
return a;
}
public int getBlnlhr()
{
return b;
}
public int getThnlhr()
{
return c;
}
public int getUmur()
{
tgllhr = date - a;
blnlhr = month - b;
if(blnlhr < 0)
lhr = -1;
else if(tgllhr < 0)
lhr = -1;
else
lhr = 0;
thnlhr = year - c;
umur = thnlhr + lhr;
return umur;
}
public String getKelamin()
{
if(sub3.equals("1"))
kelamin = "Pria";
else if(sub3.equals("2"))
kelamin = "Wanita";
else
kelamin = "Ganda";
}
public int getMenjabat()
{
blnjbt = month - d;
if(blnjbt < 0)
blnjbt = -1;
else
blnjbt = 0;
thnjbt = year - e;
menjabat = thnjbt + blnlhr;
return menjabat;
}
public static void main(String[]arbi)
{
Praktikum3 dt = new Praktikum3();
dt.setNama();
dt.setNIP();
System.out.printf("\nData\n----\n");
System.out.printf("Nama : %s\n", dt.getNama());
//System.out.printf("NIP : %s.%s.%s.%s\n", dt.getSub1, dt.getSub2, dt.getSub3, dt.getSub4);
//System.out.printf("Tanggal lahir : %d-%d-%d\n", dt.getTgllhr, dt.getBlnlhr, dt.getThnlhr);
System.out.printf("Umur : %d tahun\n", dt.getUmur());
System.out.printf("Jenis kelamin : %s\n", dt.getKelamin());
System.out.printf("Lama menjabat : %d tahun", dt.getMenjabat());
}
}
import java.util.Scanner;
导入java.util.Calendar;
公共类Praktikum3
{
扫描仪扫描=新扫描仪(System.in);
Calendar cal=Calendar.getInstance();
绳夹、nama、kelamin、jabat、sub1、sub2、sub3、sub4;
int a、b、c、d、e、umur、menjabat、tgllhr、blnlhr、thnlhr、lhr、blnjbt、thnjbt、日期、月份、年份;
public Praktikum3()//构造函数
{
System.out.printf(“DATA KARYAWAN\n\n”);//menginisalkan构造函数
}
公共无效setNama()
{
System.out.printf(“Nama:”);
nama=scan.next();
}
公共字符串getNama()
{
返回nama;
}
公共无效setNIP()
{
System.out.printf(“NIP:”);
而(!scan.hasNextLong())
{
System.out.printf(“!HARUS ANGKA!\n”);
System.out.printf(“NIP:”);
scan.next();
}
NIP=scan.next();
如果(钳口长度()!=18)
{
System.out.printf(“!HARUS 18 KARAKTER!\n”);
System.out.printf(“NIP:”);
scan.next();
}
sub1=钳口子串(0,8);/*子串Tanggal-lahir*/
sub2=钳制子串(8,14);/*子串Masa menjabat*/
sub3=钳口子串(14,15);/*子串Jenis kelamin*/
sub4=钳制子串(15,18);/*子串Nomor urut*/
日期=校准获取(日历日期);
月=cal.get(日历月);
年=校准获取(日历年);
a=Integer.parseInt(sub1.substring(6,8));
b=Integer.parseInt(sub1.substring(4,6));
c=Integer.parseInt(sub1.substring(0,4));
d=Integer.parseInt(sub2.substring(4,6));
e=Integer.parseInt(sub2.substring(0,4));
}
公共字符串getSub1()
{
返回sub1;
}
公共字符串getSub2()
{
返回sub2;
}
公共字符串getSub3()
{
返回sub3;
}
公共字符串getSub4()
{
返回sub4;
}
public int gettglllhr()
{
返回a;
}
public int getBlnlhr()
{
返回b;
}
公共int getThnlhr()
{
返回c;
}
public int getUmur()
{
tgllhr=日期-a;
blnlhr=月份-b;
如果(blnlhr<0)
lhr=-1;
否则如果(tgllhr<0)
lhr=-1;
其他的
lhr=0;
thnlhr=年份-c;
umur=thnlhr+lhr;
返回乌穆尔;
}
公共字符串getKelamin()
{
如果(子3.等于(“1”))
kelamin=“Pria”;
如果(子3.等于(“2”))
kelamin=“Wanita”;
其他的
克拉明=“甘达”;
}
public int getMenjabat()
{
blnjbt=月份-d;
如果(blnjbt<0)
blnjbt=-1;
其他的
blnjbt=0;
thnjbt=年份-e;
menjabat=thnjbt+blnlhr;
返回孟贾巴特;
}
公共静态void main(字符串[]arbi)
{
Praktikum3 dt=新的Praktikum3();
dt.setNama();
dt.setNIP();
System.out.printf(“\n数据\n----\n”);
System.out.printf(“Nama:%s\n”,dt.getNama());
//System.out.printf(“NIP:%s.%s.%s.%s\n”,dt.getSub1、dt.getSub2、dt.getSub3、dt.getSub4);
//System.out.printf(“Tanggal-lahir:%d-%d-%d\n”,dt.gettglllhr,dt.getBlnlhr,dt.getThnlhr);
System.out.printf(“Umur:%d tahun\n”,dt.getUmur());
System.out.printf(“Jenis kelamin:%s\n”,dt.getKelamin());
System.out.printf(“Lama menjabat:%d tahun”,dt.getMenjabat());
}
}
这是印尼语的。这个我曾经用OOP练习过的子字符串。甚至get substring方法也有错误
错误消息:
java:125:错误:缺少返回语句}
您错过了此方法的
返回语句
。您应该返回字符串
,因为此方法中返回类型是字符串
。而“构造函数缺少返回语句”
没有意义,因为构造函数没有返回类型
public String getKelamin()
{
if(sub3.equals("1"))
kelamin = "Pria";
else if(sub3.equals("2"))
kelamin = "Wanita";
else
kelamin = "Ganda";
return kelamin;
}
最终代码
import java.util.Scanner;
import java.util.Calendar;
public class Praktikum3
{
Scanner scan = new Scanner(System.in);
Calendar cal = Calendar.getInstance();
String NIP, nama, kelamin, jabat, sub1, sub2, sub3, sub4;
int a, b, c, d, e, umur, menjabat, tgllhr, blnlhr, thnlhr, lhr, blnjbt, thnjbt, date, month, year;
public Praktikum3() //constructor
{
System.out.printf("DATA KARYAWAN\n\n"); //menginisialkan constructor
}
public void setNama()
{
System.out.printf("Nama: " );
nama = scan.next();
}
public String getNama()
{
return nama;
}
public void setNIP()
{
System.out.printf("NIP : " );
while (!scan.hasNextLong())
{
System.out.printf("!HARUS ANGKA!\n");
System.out.printf("NIP : ");
scan.next();
}
NIP = scan.next();
if(NIP.length() != 18)
{
System.out.printf("!HARUS 18 KARAKTER!\n");
System.out.printf("NIP : ");
NIP = scan.next();
}
sub1 = NIP.substring(0,8); /*substring Tanggal lahir*/
sub2 = NIP.substring(8,14); /*substring Masa menjabat*/
sub3 = NIP.substring(14,15); /*substring Jenis kelamin*/
sub4 = NIP.substring(15,18); /*substring Nomor urut*/
date = cal.get(Calendar.DATE);
month = cal.get(Calendar.MONTH);
year = cal.get(Calendar.YEAR);
a = Integer.parseInt(sub1.substring(6,8));
b = Integer.parseInt(sub1.substring(4,6));
c = Integer.parseInt(sub1.substring(0,4));
d = Integer.parseInt(sub2.substring(4,6));
e = Integer.parseInt(sub2.substring(0,4));
}
public String getSub1()
{
return sub1;
}
public String getSub2()
{
return sub2;
}
public String getSub3()
{
return sub3;
}
public String getSub4()
{
return sub4;
}
public int getTgllhr()
{
return a;
}
public int getBlnlhr()
{
return b;
}
public int getThnlhr()
{
return c;
}
public int getUmur()
{
tgllhr = date - a;
blnlhr = month - b;
if(blnlhr < 0)
lhr = -1;
else if(tgllhr < 0)
lhr = -1;
else
lhr = 0;
thnlhr = year - c;
umur = thnlhr + lhr;
return umur;
}
public String getKelamin()
{
if(sub3.equals("1"))
kelamin = "Pria";
else if(sub3.equals("2"))
kelamin = "Wanita";
else
kelamin = "Ganda";
return kelamin;
}
public int getMenjabat()
{
blnjbt = month - d;
if(blnjbt < 0)
blnjbt = -1;
else
blnjbt = 0;
thnjbt = year - e;
menjabat = thnjbt + blnlhr;
return menjabat;
}
public static void main(String[]arbi)
{
Praktikum3 dt = new Praktikum3();
dt.setNama();
dt.setNIP();
System.out.printf("\nData\n----\n");
System.out.printf("Nama : %s\n", dt.getNama());
System.out.printf("NIP : %s.%s.%s.%s\n", dt.getSub1(), dt.getSub2(), dt.getSub3(), dt.getSub4());
System.out.printf("Tanggal lahir : %d-%d-%d\n", dt.getTgllhr(), dt.getBlnlhr(), dt.getThnlhr());
System.out.printf("Umur : %d tahun\n", dt.getUmur());
System.out.printf("Jenis kelamin : %s\n", dt.getKelamin());
System.out.printf("Lama menjabat : %d tahun", dt.getMenjabat());
}
}
import java.util.Scanner;
导入java.util.Calendar;
公共类Praktikum3
{
扫描仪扫描=新扫描仪(System.in);
Calendar cal=Calendar.getInstance();
绳夹、nama、kelamin、jabat、sub1、sub2、sub3、sub4;
int a、b、c、d、e、umur、menjabat、tgllhr、blnlhr、thnlhr、lhr、blnjbt、thnjbt、日期、月份、年份;
public Praktikum3()//构造函数
{
System.out.printf(“DATA KARYAWAN\n\n”);//menginisalkan构造函数
}
公共无效setNama()
{
System.out.printf(“Nama:”);
nama=scan.next();
}
公共字符串getNama()
{
返回nama;
}
公共无效setNIP()
{
System.out.printf(“NIP:”);
而(!scan.hasNextLong())
{
System.out.printf(“!HARUS ANGKA!\n”);
System.out.printf(“NIP:”);
scan.next();
}
NIP=scan.next();
如果(钳口长度()!=18)
{
System.out.printf(“!HARUS 18 KARAKTER!\n”);
System.out.printf(“NIP:”);
NIP=scan.next();
}
sub1=钳口子串(0,8);/*子串Tanggal-lahir*/
sub2=钳制子串(8,14);/*子串Masa menjabat*/
sub3=钳口子串(14,15);/*子串Jenis kelamin*/
sub4=钳制子串(15,18);/*子串Nomor urut*/
日期=校准获取(日历日期);
月=cal.get(日历月);
年=校准获取(日历年);
a=Integer.parseInt(sub1.substring(6,8));
b=Integer.parseInt(sub1.substring(4,6));
c=Integer.parseInt(sub1.substring(0,4));
d=Integer.parseInt(sub2.substring(4,6));
e=Integer.parseInt(sub2.substring(0,4));
}
公共字符串getSub1()
{
返回sub1;
}
公共字符串getSub2()
{
返回sub2;
}
公共字符串getSub3()
{
返回sub3;
}
公共字符串getSub4()
{
返回sub4;
}
public int gettglllhr()
{
返回a;
}
public int getBlnlhr()
{
返回b;
}
公共int getThnlhr()
{
返回c;
}
public int getUmur()
{
tgllhr=日期-a;
blnlhr=月份-b;
如果(blnlhr<0)
lhr=-1;
否则如果(tgllhr<0)
lhr=-1;
其他的
lhr=0;
thnlhr=年份-c;
umur=thnlhr+lhr;
返回乌穆尔;
}
公共字符串getKelamin()
{
如果(子3.等于(“1”))
kelamin=“Pria”;
如果(子3.等于(“2”))
kelamin=“瓦尼