java - 我该如何解决:找到变量所需值(来自教科书示例)
问题描述
所以我目前正在做一个任务,我要做一个程序来指定用户给出的正文的一些特征。
为了学习的目的,我使用了一本推荐用于课程的书中的例子,它是在线的,所以我认为这将是一种更快的方法来获得我的问题的答案。
我得到的问题是: 错误:(16、33)java:需要意外类型:找到变量:值
所以代码如下:
import javax.swing.*;
import java.util.*;
public class Text {
public static void main(String[] arg) {
String sentence = JOptionPane.showInputDialog("Enter a sentence: ");
String letter = JOptionPane.showInputDialog("Enter a letter: ");
int instances = 0;
int place;
for (place = 0; place < sentence.length(); place=place+1) {
if (sentence.charAt (place) = letter) //searches for letter in sentence
instances= instances + 1;
}
JOptionPane.showMessageDialog(null,instances);
}
}
这段代码和教科书中的例子的唯一区别是我添加了字母变量,在例子中代码搜索''(空格)。但是从我收集到的字母和''都在字符串中,即使字母是一个变量。
感谢您的帮助,谢谢!
解决方案
首先,您没有使用比较运算符==
,而是使用了一个简单=
的赋值运算符。
其次,您试图将一个字符(类型char
)与一个字母(类型String
)进行比较,而这不能通过==
操作员完成。
您需要以某种方式将您的字母转换为字符,例如使用charAt(0)
.
import javax.swing.*;
import java.util.*;
public class Text {
public static void main(String[] arg) {
String sentence = JOptionPane.showInputDialog("Enter a sentence: ");
String letter = JOptionPane.showInputDialog("Enter a letter: ");
int instances = 0;
int place;
for (place = 0; place < sentence.length(); place=place+1) {
if (sentence.charAt (place) == letter.charAt(0)) //2 changes to your code are in this line.
instances= instances + 1;
}
JOptionPane.showMessageDialog(null,instances);
}
}
推荐阅读
- javascript - 在全日历议程日获取不同的背景颜色
- pyspark - 菜鸟问题 pyspark - 获取所有列的最低/最高工资
- oracle - Oracle根据一列的值将多行分组为一个
- scala - 在 flink map 中动态解析 json
- windows - 列出任意 PE (EXE) 文件中链接的 DLL 的名称
- python-sphinx - 阅读文档/Sphinx 在构建时出现奇怪的错误
- python - 从列表中提取的嵌套循环
- azure-active-directory - 为什么运行用户流中的下拉应用程序是灰色的?
- python - 来自 Pandas 数据框的 Django 动态 url 路径
- python - python - 如何解决Python SyntaxError:in if call同时使用可变确定的地图图标将dB数据发布到kml?