package opt.sime.fifo;public class jcb
{
char state; /*W,S*/
String ID;
int ts; /* 提交时间 */
int tb; /* 开始运行时间 */
int tc; /* 执行时间 */
float ti; /* 周转时间 */
float wi; /* 带权周转时间 */
int ntime; /* 作业所需运行时间 */
}
package opt.sime.fifo;import java.util.Scanner;
public class fifo
{
private static int time=0;
private static int p=0;
private float eti=0,etw=0;
public static void main(String[] args)
{
Scanner reader=new Scanner(System.in);
System.out.println("请输入作业数");
p=reader.nextInt();
jcb opt[]=new jcb[p];
for(int i=0;i<p;i++)
{
System.out.println("请驶入作业"+i+"ID");
opt[i].ID=reader.nextLine();
System.out.println("请驶入作业"+i+"提交时间");
opt[i].ts=reader.nextInt();
System.out.println("请驶入作业"+i+"执行时间");
opt[i].tc=reader.nextInt();
}
}}错误是这样的Exception in thread "main" java.lang.NullPointerException
at opt.sime.fifo.fifo.main(fifo.java:23)
错在何处呢,何时不理解
{
char state; /*W,S*/
String ID;
int ts; /* 提交时间 */
int tb; /* 开始运行时间 */
int tc; /* 执行时间 */
float ti; /* 周转时间 */
float wi; /* 带权周转时间 */
int ntime; /* 作业所需运行时间 */
}
package opt.sime.fifo;import java.util.Scanner;
public class fifo
{
private static int time=0;
private static int p=0;
private float eti=0,etw=0;
public static void main(String[] args)
{
Scanner reader=new Scanner(System.in);
System.out.println("请输入作业数");
p=reader.nextInt();
jcb opt[]=new jcb[p];
for(int i=0;i<p;i++)
{
System.out.println("请驶入作业"+i+"ID");
opt[i].ID=reader.nextLine();
System.out.println("请驶入作业"+i+"提交时间");
opt[i].ts=reader.nextInt();
System.out.println("请驶入作业"+i+"执行时间");
opt[i].tc=reader.nextInt();
}
}}错误是这样的Exception in thread "main" java.lang.NullPointerException
at opt.sime.fifo.fifo.main(fifo.java:23)
错在何处呢,何时不理解
而这个数组里面是没有内容的
下面调用了opt[i]是 == null 所以报了空指针
然后opt[i].ID=reader.nextLine();
你这个应该是reader为null引发的空指针错误吧 。。
即是Scanner reader=new Scanner(System.in);
难道你没输入东西?楼主贴一下错误的那行代码吧
3
请驶入作业0ID
Exception in thread "main" java.lang.NullPointerException
at opt.sime.fifo.fifo.main(fifo.java:24)
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner reader = new Scanner(System.in);
System.out.println("请输入作业数");
p = reader.nextInt();
jcb opt[] = new jcb[p];
for (int i = 0; i < p; i++) {
jcb j = new jcb();
System.out.println("请驶入作业" + i + "ID");
j.ID = reader.nextLine();
System.out.println("请驶入作业" + i + "提交时间");
j.ts = reader.nextInt();
System.out.println("请驶入作业" + i + "执行时间");
j.tc = reader.nextInt();
opt[i]=j;
}
}
实在不好意思 前面写错了 还是这样写有层次感 个人看法 请无视吧