Java 为什么我得到变量未初始化错误?
我正在尝试将字符串中的所有字符转换为二维字符数组。详情如下: 我的代码:Java 为什么我得到变量未初始化错误?,java,string,replace,java.util.scanner,Java,String,Replace,Java.util.scanner,我正在尝试将字符串中的所有字符转换为二维字符数组。详情如下: 我的代码: import java.util.*; 公共班机 { 公共静态void main(字符串[]args){ //System.out.println(“你好世界”); 扫描仪sc=新的扫描仪(System.in); int n,l=0;//如您所见,n已初始化 字符串x=“”; 字符[][]arr1=新字符[10][10]; if(sc.hasnetint()) n=sc.nextInt(); 对于(int i=0;i您只能
import java.util.*;
公共班机
{
公共静态void main(字符串[]args){
//System.out.println(“你好世界”);
扫描仪sc=新的扫描仪(System.in);
int n,l=0;//如您所见,n已初始化
字符串x=“”;
字符[][]arr1=新字符[10][10];
if(sc.hasnetint())
n=sc.nextInt();
对于(int i=0;i您只能将char
替换为char
,或将CharSequence
替换为CharSequence
(因为这些是为String\replace
定义的唯一重载),而不能将char
替换为String
。将第一个参数转换为String
(这是一个CharSequence
)带有字符串。valueOf
将解决此问题
ar[j] = ar[j].replace(String.valueOf(ar[i].charAt(k)), "");
只能将char
替换为char
,或将CharSequence
替换为CharSequence
(因为这些是为String#replace
定义的唯一重载),而不能将char
替换为String
。将第一个参数转换为String
(这是一个CharSequence
)带有字符串。valueOf
将解决此问题
ar[j] = ar[j].replace(String.valueOf(ar[i].charAt(k)), "");
如果允许您使用Java 8流API,则方法simplify
可能呈现如下:
- 使用Stream
reduce
操作连接输入数组中的字符串
- 使用带有regexp的String
replaceAll
方法将以前检测到的所有字符替换为空文本:
测试:
System.out.println(simplify("abcdef", "fghij"));
System.out.println(simplify("abcdef", "fghij", " jklmn"));
输出
如果允许您使用Java 8流API,则方法simplify
可能呈现如下:
- 使用Stream
reduce
操作连接输入数组中的字符串
- 使用带有regexp的String
replaceAll
方法将以前检测到的所有字符替换为空文本:
测试:
System.out.println(simplify("abcdef", "fghij"));
System.out.println(simplify("abcdef", "fghij", " jklmn"));
输出
您的输入循环首先被中断。它读取两行,然后下次循环时,将覆盖其中的第二行。@User-Upvotedon'tsayThanks-huh…true。我的评论将很快自毁。您的输入循环一开始被中断。它读取两行,然后下次在循环中覆盖第二行。@User-Upvotedon'tsayThanks-huh…true。我的注释很快将自毁。我遵循了您的解决方案,但现在我得到以下错误:线程“main”中的异常java.util.Scanner.throwFor(Scanner.java:862)java.util.Scanner.next(Scanner.java:1485)java.util.Scanner.nextInt(Scanner.java:2117)java.util.Scanner.nextInt(Scanner.java:2076)Main.Main(Main.java:10)java.util.Scanner.Scanner
@Abhishek导致此问题的输入是什么?@Abhishek不是第10行N=sc.nextInt();
?我遵循了您的解决方案,但现在我得到了以下错误:java.util.Scanner.throwFor(Scanner.java:862)java.util.Scanner.next(Scanner.java:1485)的线程“main”java.util.NoSuchElementException中的异常在java.util.Scanner.nextInt(Scanner.java:2117)在java.util.Scanner.nextInt(Scanner.java:2076)在Main.Main(Main.java:10)
@Abhishek导致此问题的输入是什么?@Abhishek不是第10行N=sc.nextInt();
?
System.out.println(simplify("abcdef", "fghij"));
System.out.println(simplify("abcdef", "fghij", " jklmn"));
abcdefghij
abcdefghij klmn