Java 文字中的字符位置
我需要以下代码的帮助。我想使用代码打印一个对话框,输出文本中字符的第一个位置和最后一个位置。代码运行,但只输出“未找到”Java 文字中的字符位置,java,dialog,Java,Dialog,我需要以下代码的帮助。我想使用代码打印一个对话框,输出文本中字符的第一个位置和最后一个位置。代码运行,但只输出“未找到” 导入javax.swing.*; 公共类字符计数器{ 公共静态对象findFirstAndLast(字符串文本、字符串文本) { int n=text.length(); int first=-1,last=-1; 对于(int i=0;i=1){ char ch=textch.charAt(0);//第一个字符 对于(int i=0;i=1){ char ch=textc
导入javax.swing.*;
公共类字符计数器{
公共静态对象findFirstAndLast(字符串文本、字符串文本)
{
int n=text.length();
int first=-1,last=-1;
对于(int i=0;i 对于(int i=0;i是否允许使用标准方法String#contains
,String#indexOf
,String#lastIndexOf
如果是:
字符串文本=。。。;
字符串子字符串=。。。;
if(text.contains(子字符串)){
System.out.println(“第一次出现=“+text.indexOf(子字符串));
System.out.println(“上次出现=“+text.lastIndexOf(子字符串));
}否则{
System.out.println(“未找到”);
}
是否允许使用标准方法String#contains
,String#indexOf
,String#lastIndexOf
如果是:
字符串文本=。。。;
字符串子字符串=。。。;
if(text.contains(子字符串)){
System.out.println(“第一次出现=“+text.indexOf(子字符串));
System.out.println(“上次出现=“+text.lastIndexOf(子字符串));
}否则{
System.out.println(“未找到”);
}
另外,代码行text.charAt(i)=textch
似乎生成了一个错误
“==”不能应用于字符
这是因为您试图将char
值与String
值(存储在textch
中)进行比较
此外,还可以使用和函数分别查找第一个和最后一个位置
演示:
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
String text = JOptionPane.showInputDialog("Enter text").toLowerCase();
String textch = JOptionPane.showInputDialog("Enter character").toLowerCase();
int amountOFC = 0;
if (textch.length() >= 1) {
char ch = textch.charAt(0);// First character
for (int i = 0; i < text.length(); i++) {
if (text.charAt(i) == ch) {
amountOFC++;
}
}
JOptionPane.showMessageDialog(null,
"Texten hade " + text.length() + " tecken varav " + amountOFC + " var " + textch);
JOptionPane.showMessageDialog(null,
"First position is " + text.indexOf(ch) + ", Last position is " + text.lastIndexOf(ch));
}
}
}
import javax.swing.JOptionPane;
公共班机{
公共静态void main(字符串[]args){
String text=JOptionPane.showInputDialog(“输入文本”).toLowerCase();
String textch=JOptionPane.showInputDialog(“输入字符”).toLowerCase();
int amountOFC=0;
如果(textch.length()>=1){
char ch=textch.charAt(0);//第一个字符
对于(int i=0;i
另外,代码行text.charAt(i)=textch
似乎生成了一个错误
“==”不能应用于字符
这是因为您试图将char
值与String
值(存储在textch
中)进行比较
此外,还可以使用和函数分别查找第一个和最后一个位置
演示:
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
String text = JOptionPane.showInputDialog("Enter text").toLowerCase();
String textch = JOptionPane.showInputDialog("Enter character").toLowerCase();
int amountOFC = 0;
if (textch.length() >= 1) {
char ch = textch.charAt(0);// First character
for (int i = 0; i < text.length(); i++) {
if (text.charAt(i) == ch) {
amountOFC++;
}
}
JOptionPane.showMessageDialog(null,
"Texten hade " + text.length() + " tecken varav " + amountOFC + " var " + textch);
JOptionPane.showMessageDialog(null,
"First position is " + text.indexOf(ch) + ", Last position is " + text.lastIndexOf(ch));
}
}
}
import javax.swing.JOptionPane;
公共班机{
公共静态void main(字符串[]args){
String text=JOptionPane.showInputDialog(“输入文本”).toLowerCase();
String textch=JOptionPane.showInputDialog(“输入字符”).toLowerCase();
int amountOFC=0;
如果(textch.length()>=1){
char ch=textch.charAt(0);//第一个字符
对于(int i=0;i
错误是什么text.charAt(i)=textch
产生错误,因为textch
是字符串,而charAt()
返回一个char
。这些是不同的类型,你不能像你试图做的那样将它们与=
进行比较。在这种情况下@JustAnotherDeveloper有什么选择?错误是什么text。charAt(i)=textch
产生错误,因为textch
是字符串,而charAt()
返回一个char
。这些是不同的类型,你不能像你想做的那样将它们与=
进行比较。在这种情况下@JustAnotherDeveloper有什么选择?谢谢。这很好。谢谢。这很好。这很好。这很好。这很好。谢谢。这很好。谢谢