Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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 return导致程序请求输入两次_Java_Eclipse_Input - Fatal编程技术网

Java return导致程序请求输入两次

Java return导致程序请求输入两次,java,eclipse,input,Java,Eclipse,Input,我已经写了下面的程序,它做了它应该做的,除了它要求输入两次。我敢肯定,它要求输入两次的原因是因为返回,因为当我在void方法中尝试相同的代码时,它只要求输入一次 import java.util.Scanner; public class Foothill { public static void main(String[] args) { String theString, maskString, removeString; char keyCharact

我已经写了下面的程序,它做了它应该做的,除了它要求输入两次。我敢肯定,它要求输入两次的原因是因为返回,因为当我在void方法中尝试相同的代码时,它只要求输入一次

import java.util.Scanner;

public class Foothill
{
   public static void main(String[] args)
   {
      String theString, maskString, removeString;
      char keyCharacter;
      int keyCount;
      input = new Scanner(System.in);

      getKeyCharacter();
      keyCharacter = getKeyCharacter();
      getString();
      theString = getString();
      maskCharacter(theString , keyCharacter);
      maskString = maskCharacter(theString , keyCharacter);
      removeCharacter(theString , keyCharacter);
      removeString = removeCharacter(theString , keyCharacter);
      countKey(theString , keyCharacter);
      keyCount = countKey(theString , keyCharacter);
      input.close();

      System.out.println("String with '" + keyCharacter + "' masked");
      System.out.println("" + maskString + SEPERATOR);
      System.out.println("String with '" + keyCharacter + "' removed");
      System.out.println("" + removeString + SEPERATOR);
      System.out.println("# of " + keyCharacter + ": " + keyCount);               
   }

   public static char getKeyCharacter()
   {
      String userInput;
      char keyCharacter;
      int characterLength;

      do
      {
         System.out.println("Please enter a SINGLE letter to act as key: ");

         userInput = input.next();           
         characterLength = userInput.length();         

      }
      while (characterLength != 1); 

      keyCharacter = userInput.charAt(0);     
      return keyCharacter;      
   }

   public static String getString()
   {      
      String theString;
      int stringLength;

      do
      {
         System.out.println("Please enter a phrase or sentence >= 4 "
            + "characters: ");

         theString = input.next();
         stringLength = theString.length();

      }
      while (stringLength < MIN_CHAR || stringLength > MAX_CHAR);

      return theString;    
   }
}
替换:

getKeyCharacter();
keyCharacter = getKeyCharacter();
getString();
theString = getString();
与:


你知道你在两次调用getKeyCharacter吗?哦。我甚至没看到。非常感谢你!是的。我现在明白了。非常感谢!
keyCharacter = getKeyCharacter();
theString = getString();