我正在创建一个程序,提示姓名然后打印一个字符串,该字符串由用户名字的第一个字母组成,后跟用户姓氏的前五个字符,后跟一个范围内的随机数字10到99岁。
我知道如何提示输入名称并找到随机数,但我不知道如何
“打印一个由名字的第一个字母组成的字符串,后跟姓氏的前五个字母。”
任何人都可以帮助我吗?我是一名非常基础的Java程序员。
所以我真的很接近完成这个但是它一直在说第55行的“非法表达”,我无法弄明白。这是我的代码,抱歉,我知道这是一团糟:
Random generator = new Random();
int num1;
num1 = generator.nextInt(10-99);
第55行:public String substring; <<<
String result;
System.out.println("Result:" + (beginIndex) + (firstname.substring(0,1) + lastname. substring (0,5)) + (num1) );
答案 0 :(得分:8)
对我来说似乎是功课,所以我会暗示一下。查找第一部分的substring()和charAt()方法,以及第二部分的Random class。
答案 1 :(得分:1)
我是一名.NET开发人员,所以我无法帮助您解决语法问题,但您需要获取名字的第一个字符,通常可以通过索引器访问 - firstName.charAt(0),以及子字符串第二个从第一个字符(序号0)到第五个字符(序号4),可能类似于lastName.substring(0,4);并连接这两个字符串 -
concatenatedName = firstName.charAt(0) + lastName.substring(0, 4);
答案 2 :(得分:0)
答案 3 :(得分:0)
这样的事情会做
import java.lang.String;
import java.io.*;
import java.util.Random;
class Name {
public static void main(String args[]) {
Random rnd = new Random(); // Initialize number generator
String firstname = "Jessica"; // Initialize the strings
String lastname = "Craig";
String result; // We'll be building on this string
// We'll take the first character in the first name
result = Character.toString(firstname.charAt(0)); // First char
if (lastname.length() > 5)
result += lastname.substring(0,5);
else
result += lastname; // You did not specify what to do, if the name is shorter than 5 chars
result += Integer.toString(rnd.nextInt(99));
System.out.println(result);
}
}
答案 4 :(得分:0)
你错过了println的右括号。
我建议删除字符串连接周围的所有括号,它们只是让它难以阅读。
System.out.println("Result:" + beginIndex + firstname.substring(0,1) + lastname.substring(0,5) + num1 );
如果用户输入的姓氏只有4个字符,会发生什么?
答案 5 :(得分:0)
看看它有多容易?我给了4个简单的名字,可以用文字等代替。代码中的“4”表示String中的名称数。这很简单。对于那些想要它更短的人(我所做的只是减少间距):
import java.util.*;
public class characters{
public static void main(String[] args){
Random generate = new Random();
String[] name = {"John", "Marcus", "Susan", "Henry"};
System.out.println("Customer: " + name[generate.nextInt(4)]); }}