Java 如何比较字符串和字符串中的数字?
我有一个数组,它是:Java 如何比较字符串和字符串中的数字?,java,Java,我有一个数组,它是: String[] array= {azem, 1 , soaib, 3}; // a[0]= azem , a[1]= 1, a[2]=soaib, a[3]= 3 我的代码没有打印任何东西。我还看到了ascii表,得到了字符串中的数字值,从48到57,但没有打印。 霉菌代码: String input = "1"; // integers as input //String takeinput; // String input = "48" + takeinput;
String[] array= {azem, 1 , soaib, 3}; // a[0]= azem , a[1]= 1, a[2]=soaib, a[3]= 3
我的代码没有打印任何东西。我还看到了ascii表,得到了字符串中的数字值,从48到57,但没有打印。
霉菌代码:
String input = "1"; // integers as input
//String takeinput;
// String input = "48" + takeinput;
for(int i=0; i<array.length; i++){
if(array[i]== input){
System.out.print(array[i-1]);
System.out.print(array[i]);
}
String input=“1”//整数作为输入
//字符串输入;
//字符串输入=“48”+takeinput;
对于Java中的(inti=0;i,=
比较两个引用是否指向内存中的同一对象,而不是它们是否实际指向等效字符串
使用array[i].equals(input)
。在比较字符串和数值时是否尝试了Integer.parseInt(…)
Integer.parseInt(“26”)==Integer.parseInt(“56”)
更新
您还可以尝试将字符串与.equals()
方法进行比较,如下所示
数组[i]。等于(输入);
另外,使用println()
而不是print()
来确定打印的内容
Shishir这个
String[] array= {"azem", "1" , "soaib", "3"}; // a[0]= azem , a[1]= 1, a[2]=soaib, a[3]= 3
String input = "1"; // integers as input
//String takeinput;
// String input = "48" + takeinput;
for(int i=0; i < array.length; i++){
if(array[i].equals(input)) { // Modified
System.out.print(array[i-1]);
System.out.print(array[i]);
}
String[]数组={“azem”,“1”,“soaib”,“3”};//a[0]=azem,a[1]=1,a[2]=soaib,a[3]=3
String input=“1”;//整数作为输入
//字符串输入;
//字符串输入=“48”+takeinput;
for(int i=0;i
或者更好,如果您知道每个奇数位置(索引为0)都是数字,您可以将代码重写为
int input = 1; // Modified : integers as input
for(int i=1; i < array.length; i += 2){
if(Integer.valueOf(array[i]) == input) { // Modified
System.out.println(array[i-1] + ":" + array[i]);
}
int input=1;//修改:整数作为输入
对于(int i=1;i
这将是一个更干净、更快的解决方案。使用数组[i].equals(输入)方法比较两个字符串。不成功。当输入为整数时,它也可以工作,并打印整数和输出的字符串:“azem 1”@user3440716 Use.equals()
比较两个字符串,您可能希望将第二个System.out.print()
替换为System.out.println()
,以确保显示您正在打印的内容。不打印任何内容。但当我删除for循环和if语句并仅写入System.out.print(0)时;它会打印。数组定义将不会编译。您必须将所有内容都放在引号内:String[]array={“azem”、“1”、“soaib”、“3”};
对不起,我刚才复制了上面的代码,只关注了(array[I].equals(input)){//Modified line.Edited。谢谢您的输入。实际上我从文件中获取了这个字符串,是的,它是以这种形式存在的。但是我应用了所有技术,但没有printing@user3440716如果它来自一个文件,可能有一些额外的字符(如空格),您是否尝试过trim()
it?我已经完成了trim。但是我即将通过放置用户输入并显示outputif(Integer.parseInt(stringArr[i])==Integer.parseInt(“input”){System.out.print(array[i-1]);System.out.print(array[i]);来完成代码;给出erro