需要关于用java制作名称生成器的建议吗
嗨,我想做一个星球大战名字生成器,我被卡住了。我想让该计划遵循以下准则: 我应该创建一个名为需要关于用java制作名称生成器的建议吗,java,Java,嗨,我想做一个星球大战名字生成器,我被卡住了。我想让该计划遵循以下准则: 我应该创建一个名为promptstring的方法 用户的星球大战名称由名字和姓氏组成: 对于名字,使用用户真实名字的前3个字符,并与用户真实姓氏的前2个字符连接。 对于姓氏,请使用用户母亲婚前姓的前2个字符,并与用户出生城市的前3个字符连接。 对于用户的星球大战星球,请使用用户姓氏的最后2个字符,并与用户的汽车连接在一起 例如: 输入您的名字:汤姆 输入您的姓:约克 输入您母亲的婚前姓氏:Selway 进入你出生的城市:
promptstring
的方法
用户的星球大战名称由名字和姓氏组成:
对于名字,使用用户真实名字的前3个字符,并与用户真实姓氏的前2个字符连接。
对于姓氏,请使用用户母亲婚前姓的前2个字符,并与用户出生城市的前3个字符连接。
对于用户的星球大战星球,请使用用户姓氏的最后2个字符,并与用户的汽车连接在一起
例如:
- 输入您的名字:汤姆
- 输入您的姓:约克
- 输入您母亲的婚前姓氏:Selway
- 进入你出生的城市:威灵堡
- 进入你驾驶的第一辆车:奥迪
- 你是科奥迪的托约·苏厄尔
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!");
}
}