gpt4 book ai didi

java - 迭代字符串时在输出中获取 Ljava.lang.String;@

转载 作者:太空宇宙 更新时间:2023-11-04 12:51:40 37 4
gpt4 key购买 nike

所以我必须为作业编写一个程序,为此我必须接受一个字符串,确保它有正确的句子数量并打印每个单词的频率。我几乎完全正确,但最后,当我打印单词(我存储在数组中)时,每个单词前面都是 Ljava.lang.String; @xyznumber 。我不知道为什么会发生这种情况,并且在网上找不到解决方案。这是我的代码:

import java.util.Arrays;
import java.io.*;

class frequency
{
public static void main(String args[])throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the number of sentences");
int cS = Integer.parseInt(br.readLine());
System.out.println("Enter sentences");
String s = br.readLine();
int cS1 = 0;
int cW = 0;

for(int i = 0; i < s.length(); i++)
{
char ch = s.charAt(i);
if (ch=='.'||ch=='?')
{
cW++;
cS1++;
}
if (ch==' ')
{
cW++;
}
}

if (cS1!=cS)
{
System.out.println("You have entered the wrong number of sentences. Please try again.");
}
else
{
int c = 0;
int d = 0;
String a[] = new String[cW];
System.out.println("Total Number of words: "+cW);
for (int i= 0;i<s.length();i++)
{
char ch=s.charAt(i);
if (ch==' '||ch=='?'||ch=='.')
{
a[c++]=a+s.substring(d,i);
d = i+1;
}
}

int length=0;
firstFor: for(int i=0;i<a.length;i++)
{
for(int j=0;j<i;j++)
{
if (a[j].equalsIgnoreCase(a[i]))
{
continue firstFor;
}
else
{
length++;
}
}
}

String words[] = new String[length];
int counts[] = new int[length];
int k=0;
secondFor: for (int i =0;i<a.length;i++)
{
for(int j = 0; j<i;j++)
{
if (a[j].equalsIgnoreCase(a[i]))
{
continue secondFor;
}

}
words[k]=a[i];
int counter = 0;
for (int j =0;j<a.length;j++)
{
if(a[j].equalsIgnoreCase(a[i]))
{
counter++;
}
}
counts[k]=counter;
k++;
}
for (int i=0;i<words.length;i++)
{
System.out.println(words[i]+"\n"+(counts[i]));
}
}
}
}

最佳答案

问题源于这里的这一行:

a[c++]=a+s.substring(d,i);

由于 a 是一个 String 数组,因此它的作用是将 a 中的元素之一分配为等于整个数组的 String 表示形式,加上 s 的子字符串。不过,数组没有非常有用的 String 表示形式,而这正是您看到的 Ljava.lang.String;@xyznumber 的来源。

根据您想要的 a[c] 的第一部分,可以使用数组索引,或者 convert the array to a String

关于java - 迭代字符串时在输出中获取 Ljava.lang.String;@,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35775759/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com