gpt4 book ai didi

Java 错误;需要数组,但找到了 java.lang.String

转载 作者:行者123 更新时间:2023-12-01 11:44:57 27 4
gpt4 key购买 nike

我目前正在尝试完成此程序,但遇到了此错误。我做了很多事情试图修复它,以便我可以编译它,但它不起作用。看来“字符串字母表”出现了错误。有人可以帮我解决这个问题吗?

import java.util.Scanner;
public class Period
{
private static String phrase;
private static String alphabet;
public static void main(String [] args)
{
Scanner keyboard = new Scanner(System.in);
String userInput;
int[] letter = new int [27];
int number = keyboard.nextInt();
System.out.println("Enter a sentence with a period at the end.");
userInput = keyboard.nextLine();
userInput.toLowerCase();
}

public void Sorter(String newPhrase)
{
phrase=newPhrase.substring(0,newPhrase.indexOf("."));
}

private int charToInt(char currentLetter)
{
int converted=(int)currentLetter-(int)'a';
return converted;
}

private void writeToArray()
{
char next;
for (int i=0;i<phrase.length();i++)
{
next=(char)phrase.charAt(i);
sort(next);
}
}

private String cutPhrase()
{
phrase=phrase.substring(0,phrase.indexOf("."));
return phrase;
}

private void sort(char toArray)
{
int placement=charToInt(toArray);
if (placement<0)
{
alphabet[26]=1;
}
else
{
// here is one spot that mainly the error pops up?
alphabet[placement]=alphabet[placement]+1;
}
}

public void entryPoint()
{
writeToArray();
displaySorted();
}

private void displaySorted()
{
for (int q=0; q<26;q++)
{
System.out.println("Number of " + (char)('a'+q) +"'s: "+alphabet[q]);
}
}
}

最佳答案

您的sort方法将alphabet(String)视为数组。 String 不是 char[],但您可以调用 String.toCharArray()喜欢

private void sort(char toArray)
{
char[] alpha = alphabet.toLowerCase().toCharArray();
int placement=charToInt(toArray);
if (placement<0)
{
alpha[26]=1;
}
else
{
alpha[placement]=alpha[placement]+1;
}
alphabet = new String(alpha, "UTF-8");
}

但是修改String是不可能的,因为它们是不可变的。出于同样的原因,您的原始调用 alphabet.toLowerCase() 不会修改其他方法中的 alphabet

关于Java 错误;需要数组,但找到了 java.lang.String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29224915/

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