看高人编写的程序,对于初学者来说很难看懂,不如来个初学者专版,欢迎大家踊跃投稿。
请发帖的朋友尽量使用一下规则,从而给读者一种“规范”、“一致”的感觉。 1、主题的要求: 发表回复时, 1.如果此帖为关于某个程序的第一帖。主题为“某某程序的......”。 2.如果要对某个已经存在的程序的帖子进行补充。首先,“引用”要补充的帖子;其次,在主题“Re 某某程序”的后面加上“(补充)”,在正文中只写出补充内容。 3.将"代码"和"结果"一起放在[code]……[/code]中:最好附上例子。 如下: 代码:…… 如果有疑问,请另发新帖。请不要粘贴与此主题不符的帖子,包括评论。
//---- java小程序(1) -------------------------------------------- public class Class1 { public static void main(String args[]) { System.out.println("新年快乐!"); } 这事最简单的java的Application程序最简单的应用。安装了JDK的,只要打开cmd,运行javac javac Class1.java编译,然后java Class即可显示 新年快乐!这几个字。
----------------解决方案--------------------------------------------------------
//---- java小程序(2)
--------------------------------------------
这是用Applet写的。
import java.applet.*;
import java.awt.*;
public class Class2 extends Applet
{
public void paint(Graphics g)
{
g.drawString("新年快乐!",30,40);
}
}
”新年快乐!“这几个字的位置由他后面的数字决定的。
import java.applet.*;//任何Applet程序中都要用到的包
import java.awt.*;//任何Applet图形程序都要用的包
----------------解决方案--------------------------------------------------------
这个是java Applet图性界面输入输出
//---- java小程序(3)
--------------------------------------------
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Class3 extends Applet implements ActionListener
{
Label prompt;
TextField input,output;
public void init()
{
label=new Label("请输入你的名字:");
input=new TextField(6);
output=new TextField(25);
add(label);
add(input);
add(output);
input.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
output.setText(input.getText()+",新年快乐!");
}
}
--------------------------------------------
"implements ActionListener" 说明这个类同时还是动作事件(ActionEvent)的监听者
init()是类的一个方法,public 和void都是修饰符,该方法在浏览器调用Java Applet程序时自动执行。
----------------解决方案--------------------------------------------------------
与java Applet程序不同,java application程序没有浏览器提供的现成的图形界面可以直接使用,所以需要首先创建自己的图形界面,如下: //---- java小程序(4) -------------------------------------------- import java.awt.*; import java.awt.event.*; public class Class4 { public static void main(String args[]) { new FrameInOut(); } } class FrameInOut extends Frame implements ActionListener { Label label; TextField input,output;
FrameInOut() { super("图形界面的java Application程序!"); label=new Label("请输入你的名字:"); input=new TextField(6); output=new TextField(25); setLayout(new FlowLayout()); add(label); add(input); add(output); input.addActionListener(this); setSize(300,200); show(); } public void actionPerformed(ActionEvent e) { output.setText(input.getText()+",新年快乐!"); } } -------------------------------------------- 其中FrameInOut类是java.awt包中的窗框类Frame的子类,用于建立和使用图形界面。
----------------解决方案--------------------------------------------------------
/* 这个例子实现基本的算术运算 */
//---- java小程序(5)
//--------------------------------------------
1. import java.applet.*;
2. import java.awt.*;
3. import java.awt.event.*;
4.
5. public class Arithmetic extends Applet implements ActionListener
6.{
7. Label prompt;
8. TextField input1,input2;
9. Button btn;
10. int a=12,b=53;
11.
12. public void init()
13. {
14. prompt=new Label("Please input two integer numbers:");
15. input1=new TextField(6);
16. input2=new TextField(6);
17. btn=new Button("Calculate");
18. add(prompt);
19. add(input1);
20. add(input2);
21. add(btn);
22. }
23. public void paint(Graphics g)
24. {
25. g.drawString(a+"+"+b+"="+(a+b),15,45);
26. g.drawString(a+"-"+b+"="+(a-b),15,65);
27. g.drawString(a+"*"+b+"="+(a*b),15,85);
28. g.drawString(a+"/"+b+"="+(a/b),15,105);
29. g.drawString(a+"%"+b+"="+(a%b),15,125);
30. }
31. public void actionPerformed(ActionEvent e)
32. {
33. a=Integer.parseInt(input1.getText());
34. b=Integer.parseInt(input2.getText());
35. repaint();
36. }
37.}
//--------------------------------------------
//当用户单击按钮"Calculate"时,程序把输入框的字符串转化为整型数据赋给变量a,b,然后
//通过repaint()方法调用paint()方法。
----------------解决方案--------------------------------------------------------
写的不错!
强力支持!
----------------解决方案--------------------------------------------------------
/*应该注意的细节问题*/
/*这次专门讲一下switch语句,大家大家都知道switch语句是多分枝的开关语句,它的一般格式如下:*/
//--------------------------------------------
switch(表达式){
case 判断值1:语句块1 //分支1
case 判断值2:语句块2 //分支2
case 判断值2:语句块3 //分支3
.
.
.
case 判断值n:语句块n //分支n
}
//--------------------------------------------
//值得注意的是,switch语句的每一个case判断,都只负责指明流程分支的入口点,而不负责
//指定分支的出口点,分支的出口点需要程序人员用相应的跳转语句来标明。看下面的例子:
switch(MyNumber){
case 'a': Myscore=5;
case 'b': Myscore=4;
case 'c': Myscore=3;
default: Myscore=0;
}
大家不要小看这个switch语句,说不定你还没注意这点呢?不信,continue!假定Mynumber的值为"a",执行完switch语句后,变量Myscore的值被赋成什么呢?是0,为什么?因为case判断只负责指明分支的入口点,表达式的值与第一个case分支的判断相匹配后,程序的进入第一个分支,将Myscore赋予5.由于没有专门的分支出口,所以流程将继续沿着下面的分支执行下去,最后Myscore的值被赋予0.如果在每一个语句块后面加上了break语句,那么结果就如大家所想:对,是5,而不是0。
//--------------------------------------------
----------------解决方案--------------------------------------------------------
//这次讲个循环语句.学过c语言的人一定知道水仙花数的概念吧,水仙花数是一个3位数,它的
//各位数字的立方和等于这个三位数本身,例如:371=3的立方+7的立方+1的立方,则371就是
//一个水仙花数。怎样来求得水仙花数呢,下面就用java来实现它的求解。
//--------------------------------------------
public class Narcissus
{
public static void main(String args[]){
int i,j,k,n=100,m=1;
while(n<1000)
{
i=n/100; //求百位数
j=(n-i*100)/10; //求十位数
k=n%10; //求个位数
if((Math.pow(i,3)+Math.pow(j,3)+Math.pow(k,3))==n)//求立方和
System.out.println("找到第"+ m++ +"水仙花数:"+n);
n++;
}
}
}
//--------------------------------------------
----------------解决方案--------------------------------------------------------
//--------------------------------------------
[CODE]
//调用函数时的别名问题
class Letter
{
char c;
}
public class PassObject{
static void f(Letter y){
y.c='z';
}
public static void main(String[] args)
{
Letter x=new Letter();
x.c='a';
System.out.println("1: x.c:"+x.c);
f(x);
System.out.println("2: x.c:"+x.c);
}
}
//
f()会在函数范围内为其引数Letter y制作一份副本,但现在传入的是个reference,所以这一行:y.c='z';
实际上会更动f()到范围外的那个原本对象。程序结果说明了这点:
1: x.c: a
2: x.c: z
[/CODE]
//--------------------------------------------
----------------解决方案--------------------------------------------------------
都是 高手啊
----------------解决方案--------------------------------------------------------