需要关于用java制作名称生成器的建议吗

需要关于用java制作名称生成器的建议吗,java,Java,嗨,我想做一个星球大战名字生成器,我被卡住了。我想让该计划遵循以下准则: 我应该创建一个名为promptstring的方法 用户的星球大战名称由名字和姓氏组成: 对于名字,使用用户真实名字的前3个字符,并与用户真实姓氏的前2个字符连接。 对于姓氏,请使用用户母亲婚前姓的前2个字符,并与用户出生城市的前3个字符连接。 对于用户的星球大战星球,请使用用户姓氏的最后2个字符,并与用户的汽车连接在一起 例如: 输入您的名字:汤姆 输入您的姓:约克 输入您母亲的婚前姓氏:Selway 进入你出生的城市:

嗨,我想做一个星球大战名字生成器,我被卡住了。我想让该计划遵循以下准则:

我应该创建一个名为
promptstring
的方法

用户的星球大战名称由名字和姓氏组成: 对于名字,使用用户真实名字的前3个字符,并与用户真实姓氏的前2个字符连接。 对于姓氏,请使用用户母亲婚前姓的前2个字符,并与用户出生城市的前3个字符连接。 对于用户的星球大战星球,请使用用户姓氏的最后2个字符,并与用户的汽车连接在一起

例如:

  • 输入您的名字:汤姆
  • 输入您的姓:约克
  • 输入您母亲的婚前姓氏:Selway
  • 进入你出生的城市:威灵堡
  • 进入你驾驶的第一辆车:奥迪
  • 你是科奥迪的托约·苏厄尔
现在我只是有一些编译器错误

发现8个错误:文件:J:\CS Projects\NameGenerator.java[行:15] 错误:无法解析输入

文件:J:\CS Projects\NameGenerator.java[第18行]错误:方法 类型java.util.Scanner中的nextLine()不适用于 参数(int,int)

文件:J:\CS Projects\NameGenerator.java[行:19]错误:last1 无法解析为变量

文件:J:\CS Projects\NameGenerator.java[行:19]错误:无法结束 解析为变量

文件:J:\CS Projects\NameGenerator.java[第22行]错误:方法 类型java.util.Scanner中的nextLine()不适用于 参数(int,int)

文件:J:\CS Projects\NameGenerator.java[行:25]错误:方法 类型java.util.Scanner中的nextLine()不适用于 参数(int,int)

文件:J:\CS Projects\NameGenerator.java[行:31]错误: Starwarsname无法解析为变量

文件:J:\CS Projects\NameGenerator.java[行:34]错误: Starwarsname无法解析为变量

我一次又一次地修改这个程序,我被卡住了。谁能给我指出正确的方向或告诉我我做错了什么。先谢谢你

import java.util.*;


 public class NameGenerator {
     static Scanner wars = new Scanner(System.in);

     public static void main(String[] args) {
         //Prompt for User's Name
         String first,last,mother,city,car;


         System.out.printf("Please state your First Name");
         first= wars.Line(0,2);

         System.out.printf("Please state your Last name");
         last=wars.nextLine(0,1);
         last1=wars.nextLine(-1,end);

         System.out.printf("Please state your mothers maiden name");
         mother=wars.nextLine(0,1);

         System.out.printf("Please state the city you were born in ");
         city=wars.nextLine(0,2);

         System.out.printf("Please state your first car");
         car=wars.nextLine();


         Starwarsname=first+last + mother + city  + "of" + last + car ;

         System.out.println("In a galaxy far, far away you are known as " + Starwarsname + "        MAY THE FORCE be with you!");
     }
 }

你没有正确使用扫描仪。应该是这样的:

first = wars.nextLine();
如果只需要first的前两个字符,则:

first = first.substring(0,2);
其他弦也是一样。使用scanner类无法获取子字符串。Scanner类只扫描您的输入。使用String.substring方法(如上所示)获取子字符串


编辑:另外,您试图使用一些未声明的变量。在将变量“Starwarsname”分配给某个对象之前,请确保首先将其声明为字符串

语句发生的更改

wars.nextLine(0,1);

以后使用

str.substring(beginIndex, endIndex)
方法获取所输入字符串的任意部分,连接并打印它们

Error: end cannot be resolved to a variable
表示从未声明变量
end
。确保有一行类似于
stringend代码

Error: The method nextLine() in the type java.util.Scanner is not applicable for the arguments (int, int)

指示
nextLine()
不能接受任何参数(请参阅)。如果要从输入中获取子字符串,请执行类似于
wars.nextLine().substring(0,2)
的操作。此外,两个数字都必须是正数(代码中的-1将导致出现
边界异常排列
)。

使用下面的代码并测试它。。。 我也做了测试

关注点:

  • 您没有声明一些变量

  • 您没有检查Scanner API中的方法名称。请检查java 医生

请查收并告知

import java.util.*;

public class NameGenerator {
    static Scanner wars = new Scanner(System.in);

    public static void main(String[] args) {


        //Prompt for User's Name
        String first, last, mother, city, car,Starwarsname,last1;
        int end=0;


        System.out.printf("Please state your First Name");
        first = wars.nextLine();//wars.Line(0, 2);

        System.out.printf("Please state your Last name");
        last = wars.nextLine();
//        last1 = wars.nextLine();

        System.out.printf("Please state your mothers maiden name");
        mother = wars.nextLine();

        System.out.printf("Please state the city you were born in ");
        city = wars.nextLine();

        System.out.printf("Please state your first car");
        car = wars.nextLine();

        Starwarsname = first +" "+ last +" "+ mother +" "+ city + " of " + last +" "+ car;
        System.out.println("In a galaxy far, far away you are known as " + Starwarsname +
                           "        MAY THE FORCE be with you!");
    }
}

在这里发布之前,您是否对这些错误进行过研究?其中大多数都很简单,只要稍加研究就可能给出答案。在注释掉last1和int end=0后,它符合并运行程序的最后一部分应该或多或少容易完成。非常感谢您的帮助。请接受对你最有用的答案。
import java.util.*;

public class NameGenerator {
    static Scanner wars = new Scanner(System.in);

    public static void main(String[] args) {


        //Prompt for User's Name
        String first, last, mother, city, car,Starwarsname,last1;
        int end=0;


        System.out.printf("Please state your First Name");
        first = wars.nextLine();//wars.Line(0, 2);

        System.out.printf("Please state your Last name");
        last = wars.nextLine();
//        last1 = wars.nextLine();

        System.out.printf("Please state your mothers maiden name");
        mother = wars.nextLine();

        System.out.printf("Please state the city you were born in ");
        city = wars.nextLine();

        System.out.printf("Please state your first car");
        car = wars.nextLine();

        Starwarsname = first +" "+ last +" "+ mother +" "+ city + " of " + last +" "+ car;
        System.out.println("In a galaxy far, far away you are known as " + Starwarsname +
                           "        MAY THE FORCE be with you!");
    }
}