我被困在isVowel和printAll方法上

时间:2017-03-15 10:00:40

标签: java methods

我是Java的新手,到目前为止它并没有点击我的脑袋。这是我的一项任务,我遇到了两种方法的问题。任何人都可以帮助我理顺它。谢谢我还可以在哪里学习何时使用方法?我看了一些youtube,这有帮助,但我们的教科书含糊不清。在此先感谢您的帮助。这是我的代码。

/** The public class below is the name of your java program.
*/
import java.util.Scanner;
public class  ProblemSet6 {
  public static void main(String[] args) {
    //Prompt user for a number
    System.out.print("Enter a number: ");
    double userInput = input.nextDouble();


  }//Ending main method

  /**
* Method Description: Write a method, square, that takes in one number      and 
* returns the square of that number.
*
* This method takes in one number and returns one number. Do not use   Math.pow().
*
* @param x: x is the number that double uses from user input to calculate the return
* @returns and will return x squared 
 */      
   public static double square(double x) {
     return x*x;
   }  //end square method

   /**
* Method Description: Write a method, evalQuadratic, that returns the value of the 
* quadratic a(x*x)+bx+c.
*
* @param x: This method takes in four numbers (a, b, c, and x) and returns a single number.
* Note you are not trying to solve for x, it is already given.

* @returns the value of the quadratic as evalQuadratic
 */

   public static double evalQuadratic(double x, double a, double b,    double c) { 
      return (a*(x*x) + b * x + c);  


   } // end of Quadratic Method

   /**
* Method Description: This method will take a number and raise it to the fourth power.
* Use the square Method from above.
* @param x will be the same "x" input from the begining.
* return the answer of whatever is "x" raised to the fourth power
 */

   public static double fourthPower(double x) {
  return square(square(x));

   } //end of fourthPower Method

   /**
* Method Description: This Method will tell you if the number returned    is odd or even.
* Write a method, odd, that takes in one number and returns True when the number is odd and False otherwise.
* Remember what % (mod) operator does and what it means to be an even/odd number.
* This method takes in one number and returns a boolean.
* @ param x will be determined if it is odd or even.
* @ return boolean odd is true and even is false.
 */

    public static boolean odd(double x) {


        //
      if(x % 2 ==0) return false;
      else return true;


    } // end of odd(boolean) Method 

  /*  
* Define a method isVowel(char c) that returns True if the char is a vowel
* ('a', 'e', 'i', 'o', or 'u'), and False otherwise. 
* You can assume that char is a single letter of any case 
* (ie, 'A' and 'a' are both valid).
* This method takes in one char and returns a boolean.
   */
     public static boolean isVowel(char c) {


        //
      if(c == (a | e | i | o | u)) return true;
     else return false;


    } // end of isVowel(boolean) Method 

  /*
* Write a method, printAll, that takes no parameters and returns nothing.
* This method prints out all of the other methods. For any method that needs
* parameters, use any parameters you wish (Scanner or putting numbers in)
   */


     public static void printAll(){  
       System.out.println(square(userInput));
       System.out.println(evalQuadratic(userInput)); 
       System.out.println(fourthPower(userInput));
       System.out.println(odd(userInput));
       System.out.println(isVowel());

    }


} // end of class

2 个答案:

答案 0 :(得分:1)

import java.util.Scanner;

public class ProblemSet6
{
public static double[] userInput = new double[ 4 ];

public static void main( String[] args )
{
Scanner sc = new Scanner( System.in );

for( int i = 0; i < 4; i++ )
{
  System.out.print( "Enter a number: " );
  userInput[ i ] = sc.nextDouble();
}

 sc.close();

}

public static boolean isVowel( char c )
{
 if( c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' )
{
  return true;
}else
{
  return false;
}
} 

 public static void printAll()
{
System.out.println( square( userInput[ 0 ] ) );
System.out.println( evalQuadratic( userInput[ 0 ], userInput[ 1 ], userInput[ 2 ], userInput[ 3 ] ) );
System.out.println( fourthPower( userInput[ 0 ] ) );
System.out.println( odd( userInput[ 0 ] ) );
System.out.println( isVowel( 'a' ) );
}
}

答案 1 :(得分:0)

你的方法不起作用。 |运算符是位级别的OR运算,当然不是你想要的。

您可以将代码更改为一堆支票,如下所示:

if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')){

但这非常冗长且容易出错。

我建议采用这种方法:

  • 使用所有已知元音填充已排序的字符数组
  • 将该数组存储在私有静态最终字段中
  • 在该阵列上执行Arrays.binarySearch()