import java.awt.BorderLayout
public class ShowIcon extends JFrame {
private JPanel contentPane
/**
* Launch the application.
*/
public static void main(String[] args) {
ShowIcon frame = new ShowIcon()
frame.setVisible(true)
}
/**
* Create the frame.
*/
public ShowIcon() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
setBounds(100, 100, 450, 300)
contentPane = new JPanel()
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5))
contentPane.setLayout(new BorderLayout(0, 0))
setContentPane(contentPane)
JLabel lbl = new JLabel("New label")
contentPane.add(lbl, BorderLayout.CENTER)
ImageIcon icon=new ImageIcon(getClass().getResource("/abc.jpg"))
lbl.setIcon(icon)
}
}
//图片abc.jpg放到源代码文件下 一般为src
我是Java初学者,我看了你的问题后想了很久终于把它做出来了,你看看吧,方法不是很好,但能满足你的要求:import java.util.Scanner
public class Check2{
int t
char[] chs = new char[500] //输入的句子不能超过500个字符
Check2() {
String str
Scanner sc = new Scanner(System.in)
System.out.println("请输入字符串(输入的字符串不能超过500个字符):")
str = sc.nextLine()
t=str.length()
for (int i = 0i <ti ++) {
chs[i] = str.charAt(i) //将输入的字符串装入数组
}
}
}
class FuZhi{
char[] letter=new char[52] //将52个字母(含大小写)装入数组
FuZhi(){
char p
int i=0,j=26
for(p='A'p<='Z'p++){
letter[i]=p //这句刚才写掉了,加上去后程序就完整了
i++ //将A-Z装入数组
}
for(p='a'p<='z'p++){
letter[j]=p //将a-z装入数组,并且从数组的第26个开始装入(letter[0]-letter[25]已被装入了字母)
j++
}
}
}
class display{
public static void main(String[] args){
char temp
int t
int[] n= new int [52] //用于统计每个字符出现的次数
Check2 k =new Check2()
FuZhi m=new FuZhi()
for(int j=0j<52j++){
t=0 //令t为0,,并且使上一个字母统计完成后
//将其再次初始化(如A统计完成后,当程序统计B出现的次数时,使B的初始次数为0)
for(int i=0i<k.ti++){
if(m.letter[j]==k.chs[i]){ //比较字符是否相同,如相同,使t自加一
t++
n[j]=t//数组n来统计每个字母出现的次数,即其中的每一个元素代表一个字母在程序中出现的次数
}
}
}
System.out.println("总共输入了"+k.t+"个字符:\n"+"其中")
for(int i=0i<52i++){
System.out.println("字母"+m.letter[i]+"出现的次数为:"+n[i]+"次")
}
}
}
写掉了一句“letter[i]=p”,现在已经补上了,程序可以运行了,你试一下吧!!!