Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中同时计算大小写字母_Java_Jframe_Indexof - Fatal编程技术网

在Java中同时计算大小写字母

在Java中同时计算大小写字母,java,jframe,indexof,Java,Jframe,Indexof,好的!我有一个计算字符串中单个字符的类的程序。无论是大写还是小写。如果您输入一个字符串,然后要求输入字符'a',那么程序会工作,如果只有一个'a',则计数将为零。如果我在字符搜索中键入“A”,它将计为1。我的问题是我需要char搜索来计算一个字符的所有实例,不管它是大写还是小写,并将它们作为一个字符计数一起计算 代码如下: package index; import java.awt.Container; import java.awt.FlowLayout; import java.awt.

好的!我有一个计算字符串中单个字符的类的程序。无论是大写还是小写。如果您输入一个字符串,然后要求输入字符
'a'
,那么程序会工作,如果只有一个'a',则计数将为零。如果我在字符搜索中键入“A”,它将计为1。我的问题是我需要char搜索来计算一个字符的所有实例,不管它是大写还是小写,并将它们作为一个字符计数一起计算

代码如下:

package index;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.*;

public class Index extends JFrame
{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    protected JFrame mainFrame;
    protected JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
    protected JPanel panel;
    private JTextArea textSearch;
    private JTextField charSearch;
    private JLabel message1;
    private JLabel message2;
    private char aChar;

    public Index()
    {

        mainFrame = new JFrame("Character Finder");
        mainFrame.setBounds(100, 100, 450, 300);
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        tabbedPane.setBounds(0, 0, 434, 261);

        mainFrame.getContentPane().add(tabbedPane);

        panel = new JPanel();
        tabbedPane.addTab("Index", panel);
        panel.setLayout(null);

        message1 = new JLabel("Enter text to be search: ");
        message1.setBounds(79, 55, 140, 27);
        panel.add(message1);

        textSearch = new JTextArea();
        textSearch.setBounds(220, 25, 223, 94);
        panel.add(textSearch);

        message2 = new JLabel("Enter a charater: ");
        message2.setBounds(179, 159, 100, 14);
        panel.add(message2);

        charSearch = new JTextField();
        charSearch.setBounds(285, 156, 64, 20);
        panel.add(charSearch);

        mainFrame.setSize(500, 350);
        mainFrame.setVisible(true);
        textSearch.setVisible(true);
        textSearch.setEditable(true);


        addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });

        TextSearchHandler tHandler = new TextSearchHandler();
        charSearch.addActionListener(tHandler);
    }


class TextSearchHandler implements ActionListener
{
    public void actionPerformed(ActionEvent e)
    {
        int count = 0;
        int current = 0;
        String instring;
        String inChar;


        instring = textSearch.getText();
        if(instring.equals(""))
        {
            instring = ("");
            textSearch.setText("");
        }

        inChar = charSearch.getText();
        if(inChar.equals(""))
        {
            inChar = ("");
            charSearch.setText("");
        }
        current = instring.indexOf(inChar, 0);

        while(current != -1)
        {

            inChar.equalsIgnoreCase(instring);
            aChar = instring.charAt(0);
            current = instring.indexOf(inChar, current + 1);
            count++;
        }

        JOptionPane.showMessageDialog(null, "Character " + "'" + inChar + "'" + " count: "
                    + count++, "Results", JOptionPane.PLAIN_MESSAGE);
    }
}
    public static void main(String[] args) 
    {
        new Index();
    }

}

当我进行字符搜索时,我必须键入两次。我必须输入大写版本来计算该版本,删除该版本,然后输入小写版本来计算该版本。任何帮助都将不胜感激

您可以使用
字符串。toUpperCase()
在输入和正在搜索的字母上
查看一下您可以使用
字符串。toUpperCase()
在输入和正在搜索的字母上
查看一下您可以使用
字符串。toUpperCase()
在输入和正在搜索的字母上
查看一下您可以使用
字符串。toUpperCase()
在输入和正在搜索的字母上
查看一下

您可以在比较时使用String的
equalsIgnoreCase()
方法

您可以在比较时使用String的
equalsIgnoreCase()
方法

您可以在比较时使用String的
equalsIgnoreCase()
方法方法比较时

我稍微修改了您的代码,以接受用户输入的有关搜索忽略案例的信息。如果选中“忽略大小写”,则使用要搜索的搜索字符串和文本的小写版本进行搜索。您可以根据实际需要对其进行修改和增强

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Index extends JFrame
{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    protected JFrame mainFrame;
    protected JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
    protected JPanel panel;
    private JTextArea textSearch;
    private JTextField charSearch;
    private JLabel message1;
    private JLabel message2;
    private JCheckBox ignoreCaseCheck;
    public Index()
    {

        mainFrame = new JFrame("Character Finder");
        mainFrame.setBounds(100, 100, 450, 300);
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        tabbedPane.setBounds(0, 0, 434, 261);

        mainFrame.getContentPane().add(tabbedPane);

        panel = new JPanel();
        tabbedPane.addTab("Index", panel);
        panel.setLayout(null);

        message1 = new JLabel("Enter text to be search: ");
        message1.setBounds(79, 55, 140, 27);
        panel.add(message1);

        textSearch = new JTextArea();
        textSearch.setBounds(220, 25, 223, 94);
        panel.add(textSearch);

        message2 = new JLabel("Enter a charater: ");
        message2.setBounds(179, 159, 100, 14);
        panel.add(message2);

        charSearch = new JTextField();
        charSearch.setBounds(285, 156, 64, 20);
        panel.add(charSearch);

        ignoreCaseCheck = new JCheckBox("Ignore case while search.");
        ignoreCaseCheck.setBounds(179, 176, 200, 20);
        panel.add(ignoreCaseCheck);

        mainFrame.setSize(500, 350);
        mainFrame.setVisible(true);
        textSearch.setVisible(true);
        textSearch.setEditable(true);

        addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });

        TextSearchHandler tHandler = new TextSearchHandler();
        charSearch.addActionListener(tHandler);
    }

    class TextSearchHandler implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            int count = 0;
            int current = 0;
            String instring;
            String inChar;

            instring = ignoreCaseCheck.isSelected() == true ? textSearch.getText().toLowerCase() : textSearch.getText();
            if (instring.equals(""))
            {
                instring = ("");
                textSearch.setText("");
            }

            inChar = ignoreCaseCheck.isSelected() == true ? charSearch.getText().toLowerCase() : charSearch.getText();
            if (inChar.equals(""))
            {
                inChar = ("");
                charSearch.setText("");
            }
            current = instring.indexOf(inChar, 0);

            while (current != -1)
            {

                inChar.equalsIgnoreCase(instring);
                instring.charAt(0);
                current = instring.indexOf(inChar, current + 1);
                count++;
            }

            JOptionPane.showMessageDialog(null, "Character " + "'" + charSearch.getText() + "'" + " count: " + count++, "Results", JOptionPane.PLAIN_MESSAGE);
        }
    }

    public static void main(String[] args)
    {
        new Index();
    }

}`

我稍微修改了您的代码,以接受用户输入的有关搜索忽略案例的信息。如果选中“忽略大小写”,则使用要搜索的搜索字符串和文本的小写版本进行搜索。您可以根据实际需要对其进行修改和增强

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Index extends JFrame
{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    protected JFrame mainFrame;
    protected JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
    protected JPanel panel;
    private JTextArea textSearch;
    private JTextField charSearch;
    private JLabel message1;
    private JLabel message2;
    private JCheckBox ignoreCaseCheck;
    public Index()
    {

        mainFrame = new JFrame("Character Finder");
        mainFrame.setBounds(100, 100, 450, 300);
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        tabbedPane.setBounds(0, 0, 434, 261);

        mainFrame.getContentPane().add(tabbedPane);

        panel = new JPanel();
        tabbedPane.addTab("Index", panel);
        panel.setLayout(null);

        message1 = new JLabel("Enter text to be search: ");
        message1.setBounds(79, 55, 140, 27);
        panel.add(message1);

        textSearch = new JTextArea();
        textSearch.setBounds(220, 25, 223, 94);
        panel.add(textSearch);

        message2 = new JLabel("Enter a charater: ");
        message2.setBounds(179, 159, 100, 14);
        panel.add(message2);

        charSearch = new JTextField();
        charSearch.setBounds(285, 156, 64, 20);
        panel.add(charSearch);

        ignoreCaseCheck = new JCheckBox("Ignore case while search.");
        ignoreCaseCheck.setBounds(179, 176, 200, 20);
        panel.add(ignoreCaseCheck);

        mainFrame.setSize(500, 350);
        mainFrame.setVisible(true);
        textSearch.setVisible(true);
        textSearch.setEditable(true);

        addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });

        TextSearchHandler tHandler = new TextSearchHandler();
        charSearch.addActionListener(tHandler);
    }

    class TextSearchHandler implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            int count = 0;
            int current = 0;
            String instring;
            String inChar;

            instring = ignoreCaseCheck.isSelected() == true ? textSearch.getText().toLowerCase() : textSearch.getText();
            if (instring.equals(""))
            {
                instring = ("");
                textSearch.setText("");
            }

            inChar = ignoreCaseCheck.isSelected() == true ? charSearch.getText().toLowerCase() : charSearch.getText();
            if (inChar.equals(""))
            {
                inChar = ("");
                charSearch.setText("");
            }
            current = instring.indexOf(inChar, 0);

            while (current != -1)
            {

                inChar.equalsIgnoreCase(instring);
                instring.charAt(0);
                current = instring.indexOf(inChar, current + 1);
                count++;
            }

            JOptionPane.showMessageDialog(null, "Character " + "'" + charSearch.getText() + "'" + " count: " + count++, "Results", JOptionPane.PLAIN_MESSAGE);
        }
    }

    public static void main(String[] args)
    {
        new Index();
    }

}`

我稍微修改了您的代码,以接受用户输入的有关搜索忽略案例的信息。如果选中“忽略大小写”,则使用要搜索的搜索字符串和文本的小写版本进行搜索。您可以根据实际需要对其进行修改和增强

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Index extends JFrame
{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    protected JFrame mainFrame;
    protected JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
    protected JPanel panel;
    private JTextArea textSearch;
    private JTextField charSearch;
    private JLabel message1;
    private JLabel message2;
    private JCheckBox ignoreCaseCheck;
    public Index()
    {

        mainFrame = new JFrame("Character Finder");
        mainFrame.setBounds(100, 100, 450, 300);
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        tabbedPane.setBounds(0, 0, 434, 261);

        mainFrame.getContentPane().add(tabbedPane);

        panel = new JPanel();
        tabbedPane.addTab("Index", panel);
        panel.setLayout(null);

        message1 = new JLabel("Enter text to be search: ");
        message1.setBounds(79, 55, 140, 27);
        panel.add(message1);

        textSearch = new JTextArea();
        textSearch.setBounds(220, 25, 223, 94);
        panel.add(textSearch);

        message2 = new JLabel("Enter a charater: ");
        message2.setBounds(179, 159, 100, 14);
        panel.add(message2);

        charSearch = new JTextField();
        charSearch.setBounds(285, 156, 64, 20);
        panel.add(charSearch);

        ignoreCaseCheck = new JCheckBox("Ignore case while search.");
        ignoreCaseCheck.setBounds(179, 176, 200, 20);
        panel.add(ignoreCaseCheck);

        mainFrame.setSize(500, 350);
        mainFrame.setVisible(true);
        textSearch.setVisible(true);
        textSearch.setEditable(true);

        addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });

        TextSearchHandler tHandler = new TextSearchHandler();
        charSearch.addActionListener(tHandler);
    }

    class TextSearchHandler implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            int count = 0;
            int current = 0;
            String instring;
            String inChar;

            instring = ignoreCaseCheck.isSelected() == true ? textSearch.getText().toLowerCase() : textSearch.getText();
            if (instring.equals(""))
            {
                instring = ("");
                textSearch.setText("");
            }

            inChar = ignoreCaseCheck.isSelected() == true ? charSearch.getText().toLowerCase() : charSearch.getText();
            if (inChar.equals(""))
            {
                inChar = ("");
                charSearch.setText("");
            }
            current = instring.indexOf(inChar, 0);

            while (current != -1)
            {

                inChar.equalsIgnoreCase(instring);
                instring.charAt(0);
                current = instring.indexOf(inChar, current + 1);
                count++;
            }

            JOptionPane.showMessageDialog(null, "Character " + "'" + charSearch.getText() + "'" + " count: " + count++, "Results", JOptionPane.PLAIN_MESSAGE);
        }
    }

    public static void main(String[] args)
    {
        new Index();
    }

}`

我稍微修改了您的代码,以接受用户输入的有关搜索忽略案例的信息。如果选中“忽略大小写”,则使用要搜索的搜索字符串和文本的小写版本进行搜索。您可以根据实际需要对其进行修改和增强

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Index extends JFrame
{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    protected JFrame mainFrame;
    protected JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
    protected JPanel panel;
    private JTextArea textSearch;
    private JTextField charSearch;
    private JLabel message1;
    private JLabel message2;
    private JCheckBox ignoreCaseCheck;
    public Index()
    {

        mainFrame = new JFrame("Character Finder");
        mainFrame.setBounds(100, 100, 450, 300);
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        tabbedPane.setBounds(0, 0, 434, 261);

        mainFrame.getContentPane().add(tabbedPane);

        panel = new JPanel();
        tabbedPane.addTab("Index", panel);
        panel.setLayout(null);

        message1 = new JLabel("Enter text to be search: ");
        message1.setBounds(79, 55, 140, 27);
        panel.add(message1);

        textSearch = new JTextArea();
        textSearch.setBounds(220, 25, 223, 94);
        panel.add(textSearch);

        message2 = new JLabel("Enter a charater: ");
        message2.setBounds(179, 159, 100, 14);
        panel.add(message2);

        charSearch = new JTextField();
        charSearch.setBounds(285, 156, 64, 20);
        panel.add(charSearch);

        ignoreCaseCheck = new JCheckBox("Ignore case while search.");
        ignoreCaseCheck.setBounds(179, 176, 200, 20);
        panel.add(ignoreCaseCheck);

        mainFrame.setSize(500, 350);
        mainFrame.setVisible(true);
        textSearch.setVisible(true);
        textSearch.setEditable(true);

        addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });

        TextSearchHandler tHandler = new TextSearchHandler();
        charSearch.addActionListener(tHandler);
    }

    class TextSearchHandler implements ActionListener
    {
        public void actionPerformed(ActionEvent e)
        {
            int count = 0;
            int current = 0;
            String instring;
            String inChar;

            instring = ignoreCaseCheck.isSelected() == true ? textSearch.getText().toLowerCase() : textSearch.getText();
            if (instring.equals(""))
            {
                instring = ("");
                textSearch.setText("");
            }

            inChar = ignoreCaseCheck.isSelected() == true ? charSearch.getText().toLowerCase() : charSearch.getText();
            if (inChar.equals(""))
            {
                inChar = ("");
                charSearch.setText("");
            }
            current = instring.indexOf(inChar, 0);

            while (current != -1)
            {

                inChar.equalsIgnoreCase(instring);
                instring.charAt(0);
                current = instring.indexOf(inChar, current + 1);
                count++;
            }

            JOptionPane.showMessageDialog(null, "Character " + "'" + charSearch.getText() + "'" + " count: " + count++, "Results", JOptionPane.PLAIN_MESSAGE);
        }
    }

    public static void main(String[] args)
    {
        new Index();
    }

}`

谢谢大家,我从你们每个人身上学到了一些见解,我做了以下改变

instring = textSearch.getText().toLowerCase();
        if(instring.equals(""))
        {
            instring = ("");
            textSearch.setText("");
        }

        inChar = charSearch.getText().toLowerCase();
        if(inChar.equals(""))
        {
            inChar = ("");
            charSearch.setText("");
        }
        current = instring.indexOf(inChar, 0);

        while(current != -1)
        {

            inChar.equalsIgnoreCase(instring);
            aChar = instring.charAt(0);
            current = instring.indexOf(inChar, current + 1);
            count++;
        }

        JOptionPane.showMessageDialog(null, "Character " + "'" + charSearch.getText() + "'" + " count: "
                    + count++, "Results", JOptionPane.PLAIN_MESSAGE);

现在它工作得很好!!!我很感激

谢谢各位,我从你们每个人身上学到了一些见解,我做了以下改变

instring = textSearch.getText().toLowerCase();
        if(instring.equals(""))
        {
            instring = ("");
            textSearch.setText("");
        }

        inChar = charSearch.getText().toLowerCase();
        if(inChar.equals(""))
        {
            inChar = ("");
            charSearch.setText("");
        }
        current = instring.indexOf(inChar, 0);

        while(current != -1)
        {

            inChar.equalsIgnoreCase(instring);
            aChar = instring.charAt(0);
            current = instring.indexOf(inChar, current + 1);
            count++;
        }

        JOptionPane.showMessageDialog(null, "Character " + "'" + charSearch.getText() + "'" + " count: "
                    + count++, "Results", JOptionPane.PLAIN_MESSAGE);

现在它工作得很好!!!我很感激

谢谢各位,我从你们每个人身上学到了一些见解,我做了以下改变

instring = textSearch.getText().toLowerCase();
        if(instring.equals(""))
        {
            instring = ("");
            textSearch.setText("");
        }

        inChar = charSearch.getText().toLowerCase();
        if(inChar.equals(""))
        {
            inChar = ("");
            charSearch.setText("");
        }
        current = instring.indexOf(inChar, 0);

        while(current != -1)
        {

            inChar.equalsIgnoreCase(instring);
            aChar = instring.charAt(0);
            current = instring.indexOf(inChar, current + 1);
            count++;
        }

        JOptionPane.showMessageDialog(null, "Character " + "'" + charSearch.getText() + "'" + " count: "
                    + count++, "Results", JOptionPane.PLAIN_MESSAGE);

现在它工作得很好!!!我很感激

谢谢各位,我从你们每个人身上学到了一些见解,我做了以下改变

instring = textSearch.getText().toLowerCase();
        if(instring.equals(""))
        {
            instring = ("");
            textSearch.setText("");
        }

        inChar = charSearch.getText().toLowerCase();
        if(inChar.equals(""))
        {
            inChar = ("");
            charSearch.setText("");
        }
        current = instring.indexOf(inChar, 0);

        while(current != -1)
        {

            inChar.equalsIgnoreCase(instring);
            aChar = instring.charAt(0);
            current = instring.indexOf(inChar, current + 1);
            count++;
        }

        JOptionPane.showMessageDialog(null, "Character " + "'" + charSearch.getText() + "'" + " count: "
                    + count++, "Results", JOptionPane.PLAIN_MESSAGE);
现在它工作得很好!!!我很感激