Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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,在我的JAVA课上有一些家庭作业,不得不为驾照考试编写一个程序。它必须有以下方法: 通过了。如果学生通过考试,则返回true,或 如果学生不及格,则为false 完全正确。返回正确回答的问题的总数 问题 完全不正确。返回的总数不正确 回答问题 提问。包含问题编号的整数数组 学生遗漏的问题 到目前为止,我做得很好,直到我找到了遗漏的问题部分。我们应该回忆起错误的更正,但是当我打电话给它时,我得到一个奇怪的号码[I@55f96302.我已经花了两个小时看了这个节目,我不知道我搞砸了什么。任何帮助都将

在我的JAVA课上有一些家庭作业,不得不为驾照考试编写一个程序。它必须有以下方法:

通过了。如果学生通过考试,则返回true,或 如果学生不及格,则为false

完全正确。返回正确回答的问题的总数 问题

完全不正确。返回的总数不正确 回答问题

提问。包含问题编号的整数数组 学生遗漏的问题

到目前为止,我做得很好,直到我找到了遗漏的问题部分。我们应该回忆起错误的更正,但是当我打电话给它时,我得到一个奇怪的号码[I@55f96302.我已经花了两个小时看了这个节目,我不知道我搞砸了什么。任何帮助都将不胜感激。谢谢

public class DLE {

 private char[] key = { 'B', 'D', 'A', 'A', 'C', 'A', 'B', 'A', 'C', 'D',
                        'B', 'C', 'D', 'A', 'D', 'C', 'C', 'B', 'D', 'A' };
 private char[] answers;



 public DLE(char[] ans)
 {
    answers = ans;
 }

 public boolean passed ()
 {
  return (totalCorrect() > 14);
 }

 public int totalCorrect()
 {
  int correct = 0;
  for (int i = 0; i < key.length; i++)
 {

 if (key[i] == answers[i])
  correct++;
 }
 return correct;
 }

 public int totalMissed()
 {
    int tmissed = 0;
    tmissed = key.length - totalCorrect();
    return tmissed;
 }

 public int[] questionsMissed()
 {

  int size = key.length - totalCorrect();

  int[] missed = {};
  if (size < 1)
  return missed;
  else
  missed = new int [size];

  int pos = 0;
  for (int i = 0; i < key.length; i++)
  {
   if (key[i] != answers[i])
   {
    missed[pos] = (i + 1);
    pos = pos + 1;
   }
  }
  return missed;

 }
}
公共类{
private char[]key={'B','D','A','A','C','A','B','A','C','D',
‘B’、‘C’、‘D’、‘A’、‘D’、‘C’、‘B’、‘D’、‘A’};
私人答覆;
公共DLE(字符[]ans)
{
答案=答案;
}
已传递公共布尔值()
{
返回(totalCorrect()>14);
}
公共整数totalCorrect()
{
int correct=0;
for(int i=0;i
//司机

public class driver
{

     public static void main(String[] args)
     {
      // accept keyboard input
       Scanner keyboard = new Scanner(System.in);

      System.out.println("Enter your answers below.\n");

      char[] answers = new char[20];

      // request an answer for each question
      for(int i = 0; i < answers.length; i++)
      {
            // get input until input is valid
            char input;

            do
            {
                  System.out.print(i + 1 + ". ");

                  // get character and make it upper case
                  input = Character.toUpperCase(keyboard.next().charAt(0));
            }
            while(input < 'A' || input >'D');

            // store answer
            answers[i] = input;
      }

      // print output here
      DLE driver = new DLE(answers) {};
      System.out.println();
      System.out.println("You "+(driver.passed()?"passed" : "did not pass") + ".\n");
      System.out.println("Correct: " + driver.totalCorrect() + "\n");
      System.out.println("Incorrect: " + driver.totalMissed() + "\n");
      System.out.println("Questions missed: " + driver.questionsMissed());

  }
}
公共类驱动程序
{
公共静态void main(字符串[]args)
{
//接受键盘输入
扫描仪键盘=新扫描仪(System.in);
System.out.println(“在下面输入答案。\n”);
char[]answers=新字符[20];
//要求回答每个问题
for(int i=0;i'D');
//存储应答
答案[i]=输入;
}
//在此处打印输出
DLE驱动程序=新的DLE(答案){};
System.out.println();
System.out.println(“您”+(driver.passed()?“passed”:“未通过”)+“\n”);
System.out.println(“正确:“+driver.totalCorrect()+”\n”);
System.out.println(“不正确:“+driver.totalMissed()+”\n”);
System.out.println(“缺少问题:+driver.questionsMissed());
}
}
使用Arrays.toString()实用程序方法打印整数数组

import java.util.Arrays;
...
System.out.println(Arrays.toString(driver.questionsMissed()));

这是因为在调用System.out.println(driver.questionsMissed());)时,您正在打印数组的toString()方法。默认的toString()是对象的哈希。相反,您希望打印数组中的每个值。救命!谢谢。