如何在控制台中打印颜色?我想在处理器发送数据时以彩色显示数据,在接收数据时以不同颜色显示数据.
我正在尝试制作一个程序,打印所有Unicode符号\ u6000到\ u7000(1000个符号).我的程序打印50个字符,开始一个新行,再打印50个等等(没有问题).
我知道如何打印Unicode符号,但我不知道如何逐步打印它们(每次添加1).这是我的计划:
public class UnicodePrinter {
public static void main(String args[]) {
for (int i = 6000; i<7000; i++) {
if(i%50 == 0) {
System.out.println();
}
System.out.print("\u"+i); //issue here, see below
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的print语句出错了,我输入了"\u"+i"无效的unicode",因为\u没有用数字填写,但我不知道如何修复它.
我正在尝试制作一个经典的hangman程序(GUI很好,没问题),用户一次猜出一个字母.问题是,当用户猜到一个字母时,它会用猜到的字母替换"_"的位置(如果字母在单词中),但是当猜到下一个字母时,它会忘记最后一个猜测,并且地方回到"_".对不起,如果不清楚,这是一个例子
Word is tiger,
user guesses "g",
outputs _ _ g _ _,
user guesses "r",
outputs _ _ _ _ r.
Run Code Online (Sandbox Code Playgroud)
我希望代码如何工作:
Word is tiger,
user guesses "g",
outputs _ _ g _ _,
user guesses "r",
outputs _ _ g _ r.
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?请记住,老虎只是一个例子,单词是从数组中随机抽取的.我认为唯一的方法是在空格中更改子字符串的值,但我不知道如何做到这一点.截至目前,用户猜出GUI窗口中的字母(男人本人所在的位置)并通过按下按钮提交答案.输出现在只打印在控制台上.
这是该计划的麻烦部分:
// guess is the name of JTextPane next to button
// randWord is the word pulled randomly from an array
private void guessLetter() {
guessedLetter = guess.getText();
if (randWord.contains(guessedLetter)){
reveal(); // method below
} …Run Code Online (Sandbox Code Playgroud) 我试图制作一个GUI计时器而不使用 javax.swing.Timer(一种奇怪的任务),但我无法使它工作.它应该让线程休眠1秒,加1 seconds,然后重复(无限).当我运行程序时,图标会显示,但窗口不会出现.我猜我的错误是Thread.sleep(1000);在行或该区域,但我不知道为什么它不起作用.是Thread.sleep(millis)不是与Swing应用程序兼容?我需要多线程吗?这是我的计划:
import java.awt.*;
import javax.swing.*;
public class GUITimer extends JFrame {
private static final long serialVersionUID = 1L;
private int seconds = 0;
public GUITimer() {
initGUI();
pack();
setVisible(true);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
private void initGUI(){
JLabel title = new JLabel("Timer");
Font titleFont = new Font(Font.SERIF, Font.BOLD, 32);
title.setFont(titleFont);
title.setHorizontalAlignment(JLabel.CENTER);
title.setBackground(Color.BLACK);
title.setForeground(Color.WHITE);
title.setOpaque(true);
add(title, BorderLayout.NORTH);
JLabel timeDisplay = new JLabel(Integer.toString(seconds));//this label shows seconds
add(timeDisplay, BorderLayout.CENTER);
try {
Thread.sleep(1000);
} catch (InterruptedException …Run Code Online (Sandbox Code Playgroud) 为什么以下程序输出Method B 0而不是Method B 200?我无法理解我的问题是什么.
class A{
int a=100;
void myMethod(){
System.out.println("myMethod of A : "+a);
}
A(){
myMethod();//calling my method
}
}
class B extends A{
int a=200;
void myMethod(){
System.out.println("myMethod of B : "+a);
}
}
class Demo{
public static void main(String args[]){
new B();
}
}
Run Code Online (Sandbox Code Playgroud)