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

Java 格式转换出现奇怪错误的问题

Java 格式转换出现奇怪错误的问题,java,arrays,compiler-errors,Java,Arrays,Compiler Errors,所以我在这段代码上工作了一段时间,修复了很多错误,但是现在当用户输入数字作为工资时,它会给我一些奇怪的错误,首先我会发布代码,而不是发布错误 import java.util.Scanner; import java.util.*; public class project3 { private static double[] payrate; private static String[] names; public static void SortData(double

所以我在这段代码上工作了一段时间,修复了很多错误,但是现在当用户输入数字作为工资时,它会给我一些奇怪的错误,首先我会发布代码,而不是发布错误

import java.util.Scanner;
import java.util.*;
public class project3
{
   private static double[] payrate;
   private static String[] names;


   public static void SortData(double payrate[])
    {
         int first;
         int temp;
         int i;
         int j;
         for(i = payrate.length - 1; i > 0; i--)
         {
            first = 0;
            for(j = 1; j<=i;j++)
            {
               if(payrate[j]<payrate[first])
               first = j;
            }
            temp = (int)payrate[first];
            payrate[first] = payrate[i];
            payrate[i] = temp; 
         } 
    }

   public static void GetData()
   {

    Scanner input = new Scanner(System.in);
     System.out.println("How many names do you want to enter?");
                String strNum = input.nextLine();
                int num = Integer.parseInt(strNum);
                int array[] = new int[num];
                for (int i = 0  ; i < array.length ; i++ ) 
                    {
                        names = new String[num];


                        System.out.println("enter employee's name: ");

                        names[i] = input.nextLine(); 
                        //while(names[i].length < 2)
                        //{
                           //System.out.println("enter valid employee's name: ");

                        //names[i] = input.nextLine(); 
                        //} 

                    }
                for(int j = 0; j < array.length;j++)
                    {
                        payrate = new double[num];
                        System.out.println("enter employee's payrate: ");
                        payrate[j] = input.nextDouble();
                        while(payrate[j] > 100 || payrate[j] < 0)
                        {
                           System.out.println("enter valid employee's payrate: ");
                           payrate[j] = input.nextDouble();
                        }


                     }


   }
        public static void DisplayData(double payrate[], String names[])
    {

         System.out.printf("Name    PayRate\n");
         for (int l=0; l< names.length; l++) 
         {

           //for(int i=0;i<names.length;i++)
          // {
              System.out.print(names[l]);

           System.out.printf("%6d\n", payrate[l]);

           //} 
      }
    }

    public static void main(String[] args)
   {
      GetData();
      SortData(payrate);
      DisplayData(payrate,names);

   }

您使用的格式字符串不正确。例如,请参见此相关问题:

请将其简化为a。仅链接的答案不好,证明这是重复的仅链接的答案更糟糕,适当的操作是投票关闭作为重复或标记为重复,以便那些可以投票关闭的人将在队列中看到它。不要回答重复的问题。
nullException in thread "main" java.util.IllegalFormatConversionException: d != java.lang.Double
    at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4302)
    at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2793)
    at java.util.Formatter$FormatSpecifier.print(Formatter.java:2747)
    at java.util.Formatter.format(Formatter.java:2520)
    at java.io.PrintStream.format(PrintStream.java:970)
    at java.io.PrintStream.printf(PrintStream.java:871)
    at project3.DisplayData(project3.java:80)
    at project3.main(project3.java:90)