Java 当输入为以下形式时,如何使用扫描仪将字符串作为输入?

Java 当输入为以下形式时,如何使用扫描仪将字符串作为输入?,java,string,Java,String,输入: 这就是我所做的,当然错了 abc def feg cba import java.util.Scanner; 公共P类{ 公共静态void main(字符串[]args){ 扫描器x=新扫描器(System.in); int t=x.nextInt(); 对于(int j=0;j您编写的错误消息是由于以下代码: import java.util.Scanner; public class P { public static void main(String []arg

输入:

这就是我所做的,当然错了

abc

def

feg

cba
import java.util.Scanner;
公共P类{
公共静态void main(字符串[]args){
扫描器x=新扫描器(System.in);
int t=x.nextInt();

对于(int j=0;j您编写的错误消息是由于以下代码:

import java.util.Scanner;

public class P {

    public static void main(String []args){
        Scanner x = new Scanner(System.in);
        int t = x.nextInt();

        for (int j=0; j<t; j++) {
            String p[j] = x.nextLine();
        }

        for (j=0; j<p.length(); j++) {
            for (k=0; k<p.length(); k++) {
                if (p[j] = reverse(p[k])) {
                    int q = p[k].length();
                    System.out.println(""+q+((q/2)+1));
                }
            }
        }
    }
}
它还需要在for循环之外声明。我建议如下:

String[] p = new String[t];
publicstaticvoidmain(字符串[]args){
扫描器x=新扫描器(System.in);
int t=x.nextInt();
字符串[]p=新字符串[t];
对于(int j=0;j对于(j=0;j,乍一看,您的范围似乎已关闭

Scanner x = new Scanner(System.in);
int t = x.nextInt();
String[] p = new String[t];

for (int j = 0; j < t; j++) {
    p[j] = x.nextLine();
}

for (int j = 0; j < p.length(); j++) {
    for (int k = 1; k < p.length(); k++) {
        if (p[j] = reverse(p[k])) {
            int q = p[k].length();
            System.out.println("" + q + ((q / 2) + 1));
        }
    }
}

用于(intj=0;jj你的问题是什么?你是想输入字符串来代替int吗?我假设应该有很多行先输入?你能详细说明你的问题吗?这并没有给我们任何线索你想做什么。哦,是的,字符串前面有int,它是4…对不起,你的问题是什么?现在我得到了一些东西否则:扫描仪x=新扫描仪(System.in);int t=x.nextInt();字符串p[]=新字符串[n];for(int j=0;j11:错误:无法解析n 15:错误:无法解析j 15:错误:无法解析j 15:错误:无法对数组类型字符串[]调用长度()15:错误:j无法解析16:错误:k无法解析16:错误:k无法解析16:错误:无法对数组类型字符串[]调用length()16:错误:k无法解析17:错误:j无法解析17:错误:方法反向(字符串)类型P 17未定义:错误:k无法解析17:错误:k无法解析
String[]P=new String[n];
需要是
int
。因此类似
int n=10;
的内容,或者您可以直接使用数字。因此
String[]P=new String[10]
编写
字符串[]p=…;
而不是
字符串p[]=…;
(因此这些[]紧跟在字符串后面)也很重要在第二个for循环中,您需要确保编写
int j=0;
而不仅仅是
j=0;
请检查现在要做什么?我发现:11:错误:n无法解析15:错误:j无法解析15:错误:j无法解析15:错误:无法调用数组类型字符串[]上的length()15:错误:j无法解析16:错误:k无法解析16:错误:k无法解析16:错误:无法对数组类型字符串[]调用length()16:错误:k无法解析17:错误:j无法解析17:错误:方法反向(字符串)未为类型P定义17:错误:无法解析k 17:错误:无法解析k
public static void main(String []args){
    Scanner x = new Scanner(System.in);
    int t = x.nextInt();
    String[] p = new String[t];

    for (int j = 0; j < t; j++) {
        p[j] = x.nextLine();
    }

    for (j=0; j<p.length(); j++) {
        ...
    }
}
Scanner x = new Scanner(System.in);
int t = x.nextInt();
String p[] = new String[n];

for (int j = 0; j < t; j++) {
    p[j] = x.nextLine();
}

for (j = 0; j < p.length(); j++) {
    for(k = 1; k < p.length(); k++) {
        if (p[j] = reverse(p[k])) {
            int q = p[k].length();
            System.out.println(""+q+((q/2)+1));
        }
Scanner x = new Scanner(System.in);
int t = x.nextInt();
String[] p = new String[t];

for (int j = 0; j < t; j++) {
    p[j] = x.nextLine();
}

for (int j = 0; j < p.length(); j++) {
    for (int k = 1; k < p.length(); k++) {
        if (p[j] = reverse(p[k])) {
            int q = p[k].length();
            System.out.println("" + q + ((q / 2) + 1));
        }
    }
}
for (int j=0; j<t; j++) {
        String p[j] = x.nextLine();
    }
    String[] p = new String[t];
    for (int j=0; j<t; j++) {
        p[j] = x.nextLine();
    }
    int q = 0;
    for (int j=0; j<p.length; j++) {
        for (int k=0; k<p.length; k++) {
            if (p[j] = reverse(p[k])) {
                q = p[k].length();
                System.out.println(""+q+((q/2)+1));
            }
        }
    }