Java写一个自动打字效果的小程序
1、找到你电脑上Eclipse所在的文件夹。
2、双击打开Eclipse,新建一个项目,输入名字为自动打字,单击finish。
3、接着再建立class文件就行了。下面开始写代码。
4、写代码前的一些思路。既然是自动打字,那么得有一段文本。
可以是我们设置的指定的,也可以是通过scanner让用户来输入。
我们这里就设置为指定的文本。
用String来建立一段字符串
String wenben ="少壮不努力,老大敲代码.\n——By H4ckSo1di3r";
5、有了文本之后,我们得考虑的是如何让这些文本分成一个个单词或者一个个汉字慢慢的打印出来,所以我们想到 打印两个字符需要有间隔时间。
再思考我们怎么知道要打印多少个字,就是怎么知道打完了就不打了。
这里小编告诉大家小编的思路。既然是一段字符串,那么我们可以把他转换成字符串数组,
所以我们可以写成
char [] a = wenben.toCharArray();
转换成数组之后呢,我们再来求它的长度,也就是字符串的长度,通过这个长度我们就可以判断要打印多少次。
所以我们写成 a.length;
6、好了接下来我们要做的事情就是开始打印了,那么问题了,我们要怎么告诉程序第一次打印按照上面的字符串的字符顺序来打印呢?
还记得数组里面的下标吗?
假设数组 int[] a= {0,1,2,3,4,5};
那么就是a[0]=0 a[1]=1 依次类推。
在之前我们创建了一个字符串数组,所以我们只要在for循环里,让他打印第i个下标出来即可。
for(int i=0; i<wenben.length();i++){ System.out.print(wenben.charAt(i));
}
这里还有个问题,就是我们打印一个字符之后要停顿一下,以便看起来效果真实一点。
我们这里可以用线程来写,当在for循环里打印一次之后我们就执行sleep 让线程暂停一会。然后再继续打印。
当然我们也可以用另一种写法,那儿就是直接调 wenben.length()取出字符串长度后,我们再用wenben.charAt(i)依次去取出索引里面的字符,然后打印即可。
最终代码如下
public class AutomaticTyping {
public static void main(String[] args){ ATy aty = new ATy();//创建一个对象 Thread t = new Thread(aty);//创建一个线程 t.start();//线程开始 }
}class ATy implements Runnable{ String wenben ="少壮不努力,老大敲代码\n-----By H4ckSo1di3r"; public void run(){ for(int i=0; i<wenben.length();i++){ System.out.print(wenben.charAt(i)); try { Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } } // 另一种写法 把字符串先转换成字符串数组 再把依次打印// char [] a =wenben.toCharArray();// for(int i = 0;i<a.length;i++){// System.out.print(a[i]);// try {// Thread.sleep(200);// } catch (InterruptedException e) {// // TODO Auto-generated catch block// e.printStackTrace();// }// }} }
7、它会每个200毫秒打印一个字符。形成自动打字效果。