编写JAVA小程序,利用循环在小程序界面输出数字1-30,要求每行输出10个数字

编写JAVA小程序,利用循环在小程序界面输出数字1-30,要求每行输出10个数字,第1张

class Test{

public static void main(String [] arg){

Test test = new Test()

test.OutPut(50 , 9) /*第一个参数50为你要输出的最大数,你改成30就是输出1-30的数,50则为输出1-50*/

/*第二个参数9,就是控制你换行的值,你改成10就是每输出10个字就换行一次*/

} public void OutPut(int length , int size){

int temp = 1

for(int i = 1 i <= length i ++ ,temp ++){

System.out.print(i+"\t")

if(temp % size == 0){

System.out.println()

}

}

}

} 将上面的代码保存成为Test.java文件(其实后缀为java的就行了),编译就能运行了。。

/*计算器*/

import java.awt.*

import javax.swing.*

import javax.swing.border.*

import java.awt.event.*

public class Calculator implements ActionListener{

JFrame frame

JPanel panel

JTextField tfShow/*定义显示文本框*/

JButton b1[]=new JButton[10]/*数字按钮*/

JButton b2[]=new JButton[6]/* *** 作按钮*/

boolean isNumber/*判断是否输入多位数字的变量*/

double number/*存储输入数值、显示结果的变量*/

double result/*存储中间运算结果的变量*/

char operator/*存储当前 *** 作符的成员变量*/

public Calculator(){

frame=new JFrame("计算器")

frame.setSize(300,300)/*指定框架窗口的大小*/

frame.setResizable(false)/*使框架窗口不可改变大小*/

JPanel contentPane=(JPanel)frame.getContentPane()

contentPane.setBorder(new EmptyBorder(20,20,20,20))/*绘制框架的指定大小的空透明边框*/

tfShow=new JTextField("0",25)/*指定属性的文本域*/

tfShow.setHorizontalAlignment(JTextField.RIGHT)/*设置文本域中文本的对齐方式*/

isNumber=true/*初始值设置*/

number=0/*初始值设置*/

result=0/*初始值设置*/

operator=' '/*初始值设置*/

for(int i=0i<b1.lengthi++){

b1[i]=new JButton(Integer.toString(i))/*创建数字按钮*/

b1[i].setActionCommand(Integer.toString(i))

b1[i].addActionListener(this)

b1[i].setForeground(Color.blue)

}

String bs[]={"/","*","-","C","+","="}

for(int i=0i<b2.lengthi++){

b2[i]=new JButton(bs[i])/*创建 *** 作按钮*/

b2[i].setActionCommand(bs[i])

b2[i].addActionListener(this)

b2[i].setForeground(Color.red)

}

panel=new JPanel()

panel.setLayout(new GridLayout(4,5))

panel.add(b1[1])

panel.add(b1[2])

panel.add(b1[3])

panel.add(b2[0])

panel.add(b1[4])

panel.add(b1[5])

panel.add(b1[6])

panel.add(b2[1])

panel.add(b1[7])

panel.add(b1[8])

panel.add(b1[9])

panel.add(b2[2])

panel.add(b1[0])

panel.add(b2[3])

panel.add(b2[4])

panel.add(b2[5])

frame.add(tfShow,BorderLayout.NORTH)/*将文本框放置在框架上方*/

frame.add(panel,BorderLayout.CENTER)/*将装有按钮组的panel放在框架的中心*/

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)/*设置框架窗口的默认窗口关闭 *** 作*/

frame.setVisible(true)/*设置框架可见*/

}

public double getDisplay(){/*返回要显示的结果*/

return number

}

public void reDisplay(){/*刷新文本域的内容*/

tfShow.setText(""+getDisplay())

}

/*对输入数字的处理*/

public void numberProcess(int num){

if(isNumber&&num!=0){

String s1=Integer.toString(num)

String s2=Integer.toString((int)(this.number))

this.number=Double.parseDouble(s2+s1)/*对多位数字的处理*/

}else{

this.number=num

}

isNumber=true/*输入连续数字(即多位数字)时为真*/

}

public void operationProcess(char operator){/*根据输入的 *** 作符改变当前 *** 作符*/

switch(operator){

case '-':

this.operator='-'

break

case '+':

this.operator='+'

break

case '*':

this.operator='*'

break

case '/':

this.operator='/'

break

}

result=number

isNumber=false/*输入 *** 作符时表示输入连续数字的标记变量为假*/

}

public void clear(){

number=0

result=0

}

public void equal(){/*计算运算结果*/

switch(operator){

case '-':

result=result-number

break

case '+':

result=result+number

break

case '*':

result=result*number

break

case '/':

result=result/number

break

case ' ':

result=number

break

}

number=result/*把运算结果赋值给显示变量*/

isNumber=false

operator=' '

}

public static void main(String args[]){

Calculator cal=new Calculator()/*创建计算器*/

}

public void actionPerformed(ActionEvent e){

String command=e.getActionCommand()/*获取按钮激发的 *** 作事件的命令名称*/

char c=command.charAt(0)/*将按钮命令名称的第一个字符赋值给一个字符c*/

switch(c){

case '1':

case '2':

case '3':

case '4':

case '5':

case '6':

case '7':

case '8':

case '9':

case '0':

int number=Integer.parseInt(command)

numberProcess(number)/*输入数字的处理*/

break

case '+':

case '-':

case '*':

case '/':

operationProcess(c)/*算数运算符的处理*/

break

case '=':equal()break/*计算运算结果*/

case 'C':clear()break/*清零*/

}

reDisplay()/*在文本域中显示信息*/

}

}

这是我做的一个计算器:运行截图


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11127392.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存