Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;“缺少返回语句”;Java中的错误_Java_Constructor_Return - Fatal编程技术网

&引用;“缺少返回语句”;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=“瓦尼