Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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 - Fatal编程技术网

Java程序无法接收输入,程序提前终止

Java程序无法接收输入,程序提前终止,java,Java,我不确定这个编码是否没有收到调整变量的输入,并在它完全运行之前终止 public class Question { int id; String name; String type; double amt; public Question(int id, String name, String type, double amt) { this.id = id; this.name = name; this.type = type; this

我不确定这个编码是否没有收到调整变量的输入,并在它完全运行之前终止

  public class Question {
  int id;
  String name;
  String type;
  double amt;
  public Question(int id, String name, String type, double amt) {
    this.id = id;
    this.name = name;
    this.type = type;
    this.amt = amt;
    }
    public static void main(String[] args)
    {  }
    }


   import java.util.*;
   public class Answer  {
   public static void gettype(Question[] q,String adjust)
   {
     for(int i=0;i<2;i++)
     {
        if(q[i].getType()==adjust)
        {
            System.out.println(q[i].getId());
        }
    }}

    public static void main(String[] args) {
    int id;
    String name,type,adjust;
    double amt;
    Scanner s=new Scanner(System.in);
    Answer a=new Answer();
    System.out.println("enter 2 car inputs");
    Question[] q=new Question[2];
    for(int i=0;i<2;i++)
    {
        id=s.nextInt();
        s.nextLine();
        name=s.nextLine();
        type=s.nextLine();  
        amt=s.nextDouble();
        q[i]= new Question(id,name,type,amt);
    }
    adjust=s.nextLine();
    a.gettype(q,adjust);
    }
     }
在运行代码时,我能够获得car对象数组的输入。但是在那之后,我无法获得变量adjust的值。 所以,请在这方面需要帮助。 我只是尝试在构造函数端打印对象。
但无法接收将分配给var调整的第9个输入,我认为这样更好。你应该明白我的工作原理

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Question {
    private int id;
    private String name;
    private String type;
    private double amt;

    Question(int id, String name, String type, double amt) {
        this.id = id;
        this.name = name;
        this.type = type;
        this.amt = amt;
    }

    int getId() {
        return id;
    }

    String getName() {
        return name;
    }

    String getType() {
        return type;
    }

    double getAmt() {
        return amt;
    }

    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer("Question{");
        sb.append("id=").append(id);
        sb.append(", name='").append(name).append('\'');
        sb.append(", type='").append(type).append('\'');
        sb.append(", amt=").append(amt);
        sb.append('}');
        return sb.toString();
    }
}

class Answer {

    public static final int NUM_QUESTIONS = 2;

    public static void main(String[] args) {
        int numQuestions = (args.length > 0) ? Integer.valueOf(args[0]) : NUM_QUESTIONS;
        List<Question> questions  = new ArrayList<>();
        Scanner s = new Scanner(System.in);
        for (int i = 0; i < numQuestions; ++i) {
            System.out.println(String.format("Question %d", i));
            System.out.print("id: ");
            int id = s.nextInt();
            System.out.print("name: ");
            String name = s.next();
            System.out.print("type: ");
            String type = s.next();
            System.out.print("amt: ");
            double amt = s.nextDouble();
            questions.add(new Question(id, name, type, amt));
        }
        System.out.println(questions);
    }
}

格式和可读性都很差。现在可以了吗?你可以参考一下:基本上你有两个主要函数,只有一个可以作为入口点。。这应该可以解释过早终止的原因。这个答案没有告诉问题中的代码有什么问题,它确实解决了问题。它跑得很漂亮。也许OP可以研究它并学到一些东西。编码应该返回属于我们在调整中输入的特定类型的问题的id。