我想要做的是非常基本的。用户应输入名称,程序仅打印名称的姓名缩写,但最后一个单词除外。
例如:
input - "Mansha Mannan UL Haque"
output - "M.M.U.Haque"
程序如下,但不编译。
class joke
{
public static void main(String str)
{
String alter=" "+str;
int n=alter.length();
for(int i=0;i<=n;i++)
{
char f=alter.charAt(i);
if (f.compareTo(" ")>0)
{
System.out.println(alter.charAt(i+1));
}
}
}
}
显示的错误是char无法解除引用。
答案 0 :(得分:0)
将您的输入字符串拆分为字符串数组,然后访问每个单词并打印其第一个字符,以便将最后一个字打印出来。
class joke
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String alter=sc.nextLine(); //take input from user
String arr[] = alter.split(" ");
int n=arr.length(); //total words in user string
for(int i=0;i<n;i++)
{
if(i==n-1){ //if last word
System.out.print(arr[i]);
}
else{
System.out.print(arr[i].charAt(0)+". ");
}
}
}
}
答案 1 :(得分:0)
这应该可以解决问题
在这种情况下name
将是您的输入
String name = "Mansha Mannan UL Haque";
String[] nameArray = name.split(" ");
String newName = "";
for(int i = 0; i < nameArray.length; i++)
{
if(i != nameArray.length -1)
{
newName += nameArray[i].substring(0, 1) + ".";
}
else
{
newName += nameArray[i];
}
}
您还应将您的课程joke
公开,并将String str
更改为String[] args