Java 第一个字符在字符串中出现多少次
我正在努力实现的目标: 编写一个程序,要求用户输入字符串。然后输出该字符串的第一个字母出现的次数。假设用户将输入一个包含所有大写字母的字符串。例如,如果用户输入“PETER PIPER拾取了一啄腌制辣椒”,则程序应输出“P发生9次” 到目前为止,我所拥有的:Java 第一个字符在字符串中出现多少次,java,string,for-loop,count,user-input,Java,String,For Loop,Count,User Input,我正在努力实现的目标: 编写一个程序,要求用户输入字符串。然后输出该字符串的第一个字母出现的次数。假设用户将输入一个包含所有大写字母的字符串。例如,如果用户输入“PETER PIPER拾取了一啄腌制辣椒”,则程序应输出“P发生9次” 到目前为止,我所拥有的: import javax.swing.JOptionPane; public class counterCharacter { public static void main(String[] args) { Strin
import javax.swing.JOptionPane;
public class counterCharacter {
public static void main(String[] args)
{
String userInput = JOptionPane.showInputDialog("Input a string");
int count = userInput.indexOf(0);
for(int i =0; i < userInput.length(); i++)
if(userInput.charAt(i) == 'a')
count++;
System.out.println(count);
}
}
import javax.swing.JOptionPane;
公共类反角色{
公共静态void main(字符串[]args)
{
String userInput=JOptionPane.showInputDialog(“输入字符串”);
int count=userInput.indexOf(0);
对于(int i=0;i
此代码的问题在于,它仅打印字符“a”,并且仅当它出现在索引点0中时才打印。我的任务是允许用户输入任何字符串,从用户输入的索引点0获取字符,并精确计算该字符在输入中重复出现的次数。对于PETER PIPER示例,系统应该打印出“6”,因为这是索引0位置的字符出现的次数。但是如果用户输入abcdcbcdda,它应该打印出“3”
我是一名新的程序员,错过了一天的课程,现在已经远远落后,正在努力追赶,对此我将不胜感激。如果可以的话,请解释你为什么使用你使用的特定代码,以及我可以用来学习如何使用特定东西的任何参考资料。谢谢大家! 首先,您需要存储第一个字符:
char firstChar = userInput.charAt(0);
创建一个变量,以跟踪找到的匹配项的数量:
int count = 0;
循环字符串并增加计数(如果适用):
for(int i=0; i<userInput.length(); i++){
if(userInput.charAt(i) == firstChar){
count++
}
}
for(inti=0;i我不愿意给你工作代码,因为给你交作业没有帮助。
因为您已经知道如何使用userInput.charAt(n)检索字符
应在for循环之前使用索引0将第一个字符另存为targetCharacter
。现在可以使用for循环检查每个字符是否与该字符相等,并对其进行计数。为提高可读性,应正确缩进代码并使用大括号,如下所示:
if(userInput.charAt(i) == 'a') {
count++;
}
import javax.swing.JOptionPane;
public class CounterCharacter {
public static void main(String[] args) {
String userInput = JOptionPane.showInputDialog("Input a string");
// Use charAt to retrieve a character at a specific position
char firstChar = userInput.charAt(0);
int count=0;
for(int i =0; i < userInput.length(); i++)
if(userInput.charAt(i) == firstChar)
{
count++;
}
System.out.println(count);
}
}
然后,您可以在for循环后打印出计数(这意味着在for循环的大括号后)。如果您仍然有任何问题,请更改您原来的问题。我会这样尝试:
if(userInput.charAt(i) == 'a') {
count++;
}
import javax.swing.JOptionPane;
public class CounterCharacter {
public static void main(String[] args) {
String userInput = JOptionPane.showInputDialog("Input a string");
// Use charAt to retrieve a character at a specific position
char firstChar = userInput.charAt(0);
int count=0;
for(int i =0; i < userInput.length(); i++)
if(userInput.charAt(i) == firstChar)
{
count++;
}
System.out.println(count);
}
}
import javax.swing.JOptionPane;
公共类反角色{
公共静态void main(字符串[]args){
String userInput=JOptionPane.showInputDialog(“输入字符串”);
//使用charAt检索特定位置的字符
char firstChar=userInput.charAt(0);
整数计数=0;
对于(int i=0;i
公共类计数字符{
public static void main(String[] args)
{
int count = 1;
String userInput = JOptionPane.showInputDialog("Input a string");
char ch = userInput.charAt(0);
for(int i =1; i < userInput.length(); i++)
{
if(userInput.charAt(i) == ch)
count++;
}
System.out.println(count);
}
}
publicstaticvoidmain(字符串[]args)
{
整数计数=1;
String userInput=JOptionPane.showInputDialog(“输入字符串”);
char ch=userInput.charAt(0);
for(int i=1;i
这将为您提供您想要产生的输出….您已经很好地描述了问题,因此您确实需要将您对它的描述转化为代码
现在可能很难做到这一点,因为您似乎不明白代码为什么要这样做。一旦您理解了它——一行一行——就应该更容易实现您想要的结果
我将帮助您了解您现在拥有的内容,您可以将其转化为工作成果:
String userInput = JOptionPane.showInputDialog("Input a string");
获取要操作的输入字符串
int count = userInput.indexOf(0);
此方法正在使用。您正在询问“字符0()的第一次出现(索引)在哪里。这没有帮助,因为您想要的是相反的-index0处的第一个字符。这正是charAt
所做的。的文档很有帮助--请阅读它们
不仅如此,您还将此结果分配给count
。为什么
你需要记住索引0
(提示,一个字符,而不是int
)处的字符,但是你还需要开始计数——如果你从字符串的开头开始循环,则从0开始。因此我认为你需要从两个变量开始
for(int i =0; i < userInput.length(); i++)
这将检查i
处的字符是否为'a'
——为什么?您真正需要的是查看它是否与第一个字符匹配
还要注意,如果块(同样,{…}
)的工作方式与循环相同。最好在每个if
、else
、for
、while
等上使用它们,直到你真正知道自己在做什么。这样你就不会意外绊倒
count++;
增加计数。如果您的计数
是正确的,这就是您想要的(记住,事实并非如此)
对我来说很好,除了记住这不是循环块,但你已经将它缩进了。感谢你帮助我了解我的代码有哪些错误。正如我之前所说的,我不知道如何利用字符串,因为我在参加课程时错过了这一天…@user2828963有帮助吗?谢谢你的帮助在我的编码过程中。我明白我做错了什么,并且开始研究更多关于字符串及其应用和用途的内容。我真的很感谢你们的帮助。嘿,伙计们。谢谢你们的帮助。我最后翻阅了朋友的笔记,并尝试了更多的内容,然后意识到我刚才键入的内容几乎与许多人的相同您的脚本。特别感谢@Carsten Hoffmann以他的方式解释事情和尝试