我有一个计算机科学课的作业用英语单词,并用猪拉丁语重新打印(在这种情况下,只需要把第一个字母放在最后一个字母)。这是我的代码。注意:对于完全信用,它必须是两种不同的方法。
import java.util.Scanner;
public class PigLatin {
public static void main(String[] args){
Scanner kboard = new Scanner(System.in);
System.out.println("Enter a string in english: ");
String x = kboard.nextLine();
}
public static void pLatin(String x){
String pigx = x.substring(0,1);
String pigy = x.substring(1);
System.out.println("The string in pig latin is " + pigy + pigx);
}
}
我在Eclipse中没有错误,但是当我运行程序时,在输入扫描仪的单词后,它不会打印任何内容。我究竟做错了什么?感谢
答案 0 :(得分:1)
你永远不会告诉它打印这个词,也不会打电话给你pLatin()
函数。
public static void main(String[] args){
Scanner kboard = new Scanner(System.in);
System.out.println("Enter a string in english: ");
String x = kboard.nextLine();
// MISSING: System.out.println("recieved: " + x);
// MISSING: pLatin(x);
}
此外,我认为您的pLatin
功能不会使猪拉丁正确。
答案 1 :(得分:0)
在public static void main ...
中添加方法调用 public static void main(String[] args) {
Scanner kboard = new Scanner(System.in);
System.out.println("Enter a string in english: ");
String x = kboard.nextLine();
pLatin(x);
}
......看看会发生什么。
答案 2 :(得分:0)
请尝试以下代码:
public static void main(String [] args) {
Scanner kboard = new Scanner(System.in);
System.out.println("Enter a string in english: ");
System.out.println("The string in pig latin is: "+ pLatin(kboard.nextLine()));
}
public static String pLatin(String x){
return x+x.charAt(0);
}
一个问题是:
String pigx = x.substring(0,1); //pigx = the first two letters
//if the world is java -> pigx=ja
String pigy = x.substring(1); //pigy= all the letters except the first
//letter. if world is java-> pigy= ava
System.out.println("The string in pig latin is " + pigy + pigx);
通过此代码,您不会将第一个字母添加到世界的最后一个索引, 你得到并打印前两个字母(pigx)和除第一个字母以外的所有字母(pigy)。