Java 如何在一行中打印第n个单词的第n个字符?
我正在做一个家庭作业,要求在同一行上打印第n个字符和第n个单词,不留空格。如果第n个字太短且没有第n个字符,程序应打印该字的最后一个字符。如果用户输入一个空单词(简单按下),则该单词将被忽略 (我们还没有学会方法,所以我不应该使用它们) 看到下面的代码,我不知道如何让我的代码打印该单词的最后一个字符,如果它没有第n个字符Java 如何在一行中打印第n个单词的第n个字符?,java,string,for-loop,Java,String,For Loop,我正在做一个家庭作业,要求在同一行上打印第n个字符和第n个单词,不留空格。如果第n个字太短且没有第n个字符,程序应打印该字的最后一个字符。如果用户输入一个空单词(简单按下),则该单词将被忽略 (我们还没有学会方法,所以我不应该使用它们) 看到下面的代码,我不知道如何让我的代码打印该单词的最后一个字符,如果它没有第n个字符 import java.util.Scanner; 公共类词汇{ 公共静态void main(字符串[]args){ 最终整数N=5; 扫描仪输入=新扫描仪(System.in
import java.util.Scanner;
公共类词汇{
公共静态void main(字符串[]args){
最终整数N=5;
扫描仪输入=新扫描仪(System.in);
System.out.print(“输入一行用空格分隔的单词”);
字符串userInput=input.nextLine();
String[]words=userInput.split(“”);
字符串N=单词[N];
for(int i=0;i=N){
char nthChar=nthWord.charAt(N);
系统输出打印(“输入行中的“+N+”第个字是“+N+”,该字中的“+N+”第个字符是“+N+”);
}
if(nthWord.length()//考虑将行作为输入
String[]words=line.split(“”);
//检查第n个单词是否存在
如果(单词长度
//考虑将行作为输入
String[]words=line.split(“”);
//检查第n个单词是否存在
如果(单词长度
用户输入也可以包含少于N个单词,对吗?第一个检查应该是
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a line of words seperated by spaces ");
String userInput = input.nextLine();
String[] words = userInput.split(" ");
int n = words.length();
System.out.print("Enter lookup word - N");
int askedFor = input.nextInt();
if (askedFor > n) {
//your logic for this condition
return;
}
String nthWord = words[askedFor-1];
if (nthWord.length() < askedFor) print(nthWord.charAt(nthWord.length()-1));
else print(nthWord.charAt(askedFor-1));
input.close();
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.print(“输入一行用空格分隔的单词”);
字符串userInput=input.nextLine();
String[]words=userInput.split(“”);
int n=words.length();
System.out.print(“输入查找单词-N”);
int askedFor=input.nextInt();
如果(askedFor>n){
//你对这种情况的逻辑
回来
}
字符串nthWord=单词[askedFor-1];
如果(nthWord.length()
用户输入也可以包含少于N个单词,对吗?第一个检查应该是
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a line of words seperated by spaces ");
String userInput = input.nextLine();
String[] words = userInput.split(" ");
int n = words.length();
System.out.print("Enter lookup word - N");
int askedFor = input.nextInt();
if (askedFor > n) {
//your logic for this condition
return;
}
String nthWord = words[askedFor-1];
if (nthWord.length() < askedFor) print(nthWord.charAt(nthWord.length()-1));
else print(nthWord.charAt(askedFor-1));
input.close();
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.print(“输入一行用空格分隔的单词”);
字符串userInput=input.nextLine();
String[]words=userInput.split(“”);
int n=words.length();
System.out.print(“输入查找单词-N”);
int askedFor=input.nextInt();
如果(askedFor>n){
//你对这种情况的逻辑
回来
}
字符串nthWord=单词[askedFor-1];
如果(nthWord.length()
第一个问题是,您不应该以分号结束if
行。这结束了if
语句,意味着后面的行总是在运行,而不是仅在条件为真时才运行。请删除这些分号,然后放入{}
代码块周围的括号将其分解。首先编写一个方法,该方法包含一个单词和n
,并打印第n个字符或最后一个字符。然后编写一个方法,该方法包含一行文本和n
,并在找到句子中的第n个单词(或最后一个单词)后调用第一个方法。然后编写一个方法,该方法接受一个数组或行列表,然后n
,并在找到集合中的第n行(或最后一行)后调用第二个方法。这样做,您只会遇到非常具体的问题,而这些问题更容易解决。最后,如果您必须这样做,您可以“un-method-i-fy”全部都是。第一个问题是,您不应该以分号结束if
行。这结束了if
语句,意味着后面的行总是在运行,而不是仅在条件为真时才运行。请删除这些分号,然后放入{}
代码块周围的括号将其分解。首先编写一个方法,该方法包含一个单词和n
,并打印第n个字符或最后一个字符。然后编写一个方法,该方法包含一行文本和n
,并在找到句子中的第n个单词(或最后一个单词)后调用第一个方法。然后编写一个方法,该方法接受一个数组或行列表,然后n
,并在找到集合中的第n行(或最后一行)后调用第二个方法。这样做,您只会遇到非常具体的问题,而这些问题更容易解决。最后,如果您必须这样做,您可以“un-method-i-fy”所有这些。你可以加上一个快速的解释来说明你在做什么,特别是第一行和最后一行,这对编程初学者来说可能并不明显。即使这是真的,这篇文章也不是只让发帖的人阅读的。不管怎样,照你的意愿去做吧,不解释就发布代码似乎有点苛刻。@Badda不是这样的用于教你编程的小步骤。它的全部目的是帮助某人,如果