我的for循环打印出的数字超出应有的数量。正如你在下面看到的,我的for循环的最大数字是5,它从1开始。这意味着它应该打印出1到5.但我的输出完全不同。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Paint extends JPanel {
static Paint paint = new Paint();
static int y = 0;
@Override
public Dimension getPreferredSize() {
return new Dimension(500, 500);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLUE);
for (int x = 1; x <= 5; x++) {
Fonts.font = new Font(Fonts.fonts[x], Font.PLAIN, 12);
g.setFont(Fonts.font);
g.drawString("Hello", 50, y);
System.out.println(x + ":" + y);
y += 30;
}
}
}
这是我的输出:
1:0 2:30 3:60 4:90 5:120 1:150 2:180 3:210 4:240 5:270 1:300 2:330 3:360 4:390 5:420 1:450 2:480 3:510 4:540 5:570 1:600 2:630 3:660 4:690 5:720 1:750 2:780 3:810 4:840 5:870 1:900 2:930 3:960 4:990 5:1020 1:1050 2:1080 3:1110 4:1140 5:1170 1:1200 2:1230 3:1260 4:1290 5:1320 1:1350 2:1380 3:1410 4:1440 5:1470 1:1500 2:1530 3:1560 4:1590 5:1620
如果你知道什么是错的,请告诉我。谢谢。 另外,这是我的主要方法所在的另一个课程。
import java.awt.*;
import javax.swing.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Fonts {
static String fonts[] = new String[605 + 1];
static Font font;
static void loadFont() throws FileNotFoundException {
int index = 1;
File fontTxt = new File("fonts.txt");
Scanner scan = new Scanner(fontTxt);
while (scan.hasNextLine()) {
fonts[index] = scan.nextLine();
index++;
}
}
public static void main(String[] args) throws FileNotFoundException {
loadFont();
Frame.frame.add(Paint.paint);
Frame.frame();
}
}
这是我正在使用的帧类。
import java.awt.Color;
import javax.swing.*;
public class Frame {
static JFrame frame = new JFrame();
// JLabel(String);
// JTextField(int);
// JTextArea(int,int);
// JPasswordField(int);
// JRadioButton(String);
// JCheckBox(String);
// JButton(String);
// JList();
// JComboBox();
static void frame() {
frame.pack();
frame.setLocationRelativeTo(null);
frame.setBackground(Color.WHITE);
frame.setResizable(false);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}