Java 以元音开头的名词与不以元音开头的名词

Java 以元音开头的名词与不以元音开头的名词,java,Java,因此,问题是“编写一个Java程序,从键盘上获取一个名词作为字符串,如果该名词以元音开头,程序将打印“an”,后跟该名词,否则将打印“a”,后跟该名词。例如,如果输入名词是“apple”,程序将打印“apple”,如果该名词是“cat”,程序将打印“cat”你可以假设所有字母都是小写,元音是“a,e,i,o,u”。(提示:String类的charAt(int index)方法可能会有所帮助) 到目前为止,我已经写了 import java.util.Scanner; public clas

因此,问题是“编写一个Java程序,从键盘上获取一个名词作为字符串,如果该名词以元音开头,程序将打印“an”,后跟该名词,否则将打印“a”,后跟该名词。例如,如果输入名词是“apple”,程序将打印“apple”,如果该名词是“cat”,程序将打印“cat”你可以假设所有字母都是小写,元音是“a,e,i,o,u”。(提示:String类的charAt(int index)方法可能会有所帮助)

到目前为止,我已经写了

import java.util.Scanner;
   public class Vowels
  {
   public static void main(String[] args)
    {
      Scanner reader = new Scanner(System.in);
      System.out.print("Enter a word");
      int num = reader.nextInt();
      char ch = '1';
   if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' )
    System.out.println("An" + char);
   else 
    System.out.println("A" + char);
    }
  }    

我觉得我已经接近成功了,但老实说,尽管这是难以置信的基本问题,我还是感到不知所措。我真的不想每次都依赖谷歌搜索答案,因为这对我的学习没有多大帮助。我甚至不想找人给我答案,只要有人能用谷歌为我指出正确的方向但是对于我来说太复杂的事情,我将不胜感激。

好的,那么首先要做的是。你在控制台上打印“输入一个单词”,然后你接受
int num
,这是没有意义的。相反,要做:
String word=reader.nextLine();
。这是从用户处接受
字符串,您可以使用它来测试单词前是否需要“an”或“a”

使用Java,您可以使用
charAt()
方法来检查我上面使用的
word
变量的第一个
char
,测试第一个字符是否为元音。这将如下所示:
char ch=word.charAt(0)
.0表示字符串中的第一个索引

然后,您可以使用
System.out.println()
打印接受为输入的
word
变量的“a”或“an”

  • 您正在读取一个整数,请将其也更改为
    reader.next()
  • 为什么c是数字1。将其更改为单词中的第一个字母为
    num.charAt(0)
  • 更改后的类似内容:

    import java.util.Scanner;
    public class Vowels
     {
    public static void main(String[] args)
    {
      Scanner reader = new      Scanner(System.in);
      System.out.print("Enter a word");
      String num = reader.next();
      char ch = num.charAt(0);
     if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' )
    System.out.println("An" + num);
    else 
    System.out.println("A" + num);
    }
    }    
    

    好的,谢谢你的帮助,我想我现在明白多了。最后的代码是

            import java.util.Scanner;
          public class Vowels
         {
           public static void main(String[] args)
        {
            Scanner reader = new Scanner(System.in);
            System.out.print("Enter a word ");
            String num = reader.nextLine();
            char ch = num.charAt(0);
           if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' )
            System.out.println("An " + num);
           else 
            System.out.println("A " + num);
            }
          }                                                                                                     
    

    问问你自己为什么要做每一步都要做的事情。
    intnum
    read.neextInt()的目的是什么
    当你从未使用过
    num
    时?你不能打印
    char
    ;你的意思是
    ch
    ?你为什么要打印
    ch
    ?你为什么要在
    ch
    中存储
    '1'
    ?用户输入的单词在哪里?你不知所措,因为你不知道自己在做什么。你不应该尝试一次为了不经意间使程序正常工作而做的事情。随时知道自己在做什么,知道自己不知道什么,这样你就可以提出正确的问题并学习。@Gendarme我编辑了它,现在就试试吧?如果成功了,记得将此答案勾选为已解决。