NETBEANS 编写程序:编写一个计算学生平均分和成绩的程序

NETBEANS 编写程序:编写一个计算学生平均分和成绩的程序,第1张

nput data into variables

Process data according to given logic

Print out requested information

以前写的,很乱。仅供参考

import java.awt.*

import javax.swing.*

import java.awt.event.*

import java.util.ArrayList

public class T implements ActionListener{

private int append = 1

JTextField jtf = new JTextField(10)

String s1=""

String s2=""

int n=0

ArrayList<String>aList1=new ArrayList<String>()

ArrayList<String>aList2=new ArrayList<String>()

public T(){

JFrame jf = new JFrame("计算器")

jf.add(jtf,BorderLayout.NORTH)

jf.setSize(200,100 )

JPanel jp = new JPanel()

GridLayout gl = new GridLayout(5,4)

jp.setLayout(gl)

String[] lab = {"BackS","CE","C","+",

"7","8","9","-","4","5","6","*",

"1","2","3","/","0",".","+/-","="}

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

JButton jb = new JButton(lab[i])

jp.add(jb)

jb.addActionListener(this)

}

jf.add(jp)

jf.setSize(300,300)

jtf.setEditable(false)

jf.setResizable(false)

jf.setLocation(300, 200)jf.setVisible(true)

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

}

String num1 = "0"

String operator = "+"

public void actionPerformed(ActionEvent ae) {

String comm = ae.getActionCommand()

if("0123456789".indexOf(comm)!=-1){

if(append==1){

n=0

s2=s2+comm

s1=s1+comm

}

else{

aList1.clear()

append=1

s2=s2+comm

s1=comm

}

jtf.setText(s1)

}else if("+-*/".indexOf(comm)!=-1){

n++

if(n==1){

s1=s1+comm

aList2.add(comm)

}

if(append==0)

append=1

if(s2!=""){

aList1.add(s2)

}

s2=""

jtf.setText(s1)

}else if("=".equals(comm)){

aList1.add(s2)

double d1

double d2

int i=0

while(aList2.contains("*")||aList2.contains("/")){

int flag=0

if(aList2.size()>0&&"*".equals(aList2.get(i))){

d1 = Double.parseDouble(aList1.get(i))

d2 = Double.parseDouble(aList1.get(i+1))

d1=d1*d2

aList1.remove(i)

System.out.println("RE:"+aList1)

aList1.set(i,d1+"")

System.out.println("Set:"+aList1)

aList2.remove(i)

System.out.println(aList2)

flag++

System.out.println("*"+i)

}

if(i==aList2.size())

i--

if(aList2.size()>0&&"/".equals(aList2.get(i))){

System.out.println("/"+i)

d1 = Double.parseDouble(aList1.get(i))

d2 = Double.parseDouble(aList1.get(i+1))

d1=d1/d2

aList1.remove(i)

aList1.set(i,d1+"")

aList2.remove(i)

flag++

System.out.println("/"+aList2)

}

if(flag==0)

i++

}

while(aList2.contains("+")||aList2.contains("-")){

i=0

if("+".equals(aList2.get(i))){

d1 = Double.parseDouble(aList1.get(i))

d2 = Double.parseDouble(aList1.get(i+1))

d1=d1+d2

aList1.remove(i)

System.out.println("Re"+aList1)

aList1.set(i,d1+"")

System.out.println("Set:"+aList1)

aList2.remove(i)

System.out.println("alist2:"+aList2)

System.out.println(aList2.size())

}

if(aList2.size()>0&&"-".equals(aList2.get(i))){

d1 = Double.parseDouble(aList1.get(i))

d2 = Double.parseDouble(aList1.get(i+1))

d1=d1-d2

aList1.remove(i)

aList1.set(i,d1+"")

aList2.remove(i)

}

}

s1=s1+comm+aList1.get(aList1.size()-1)

jtf.setText(s1)

s2=""

s1=aList1.get(aList1.size()-1)

append = 0

}else if(".".equals(comm)){

String temp=s2

if(temp.indexOf(".")==-1){

s1=s1+comm

jtf.setText(s1)

s2=s2+comm

append = 1

}

}else if("+/-".equals(comm)){

String temp = jtf.getText()

if(temp.startsWith("-")){

jtf.setText(temp.substring(1))

}else{

jtf.setText("-"+temp)

}

}else if("CE".equals(comm)||"C".equals(comm)){

jtf.setText("0")

s2=""

s1=""

append = 0

}else if("BackS".equals(comm)){

String temp = s1

if(temp.length()>0){

if(s1.endsWith("+")||s1.endsWith("-")||s1.endsWith("*")||s1.endsWith("/")){

System.out.print("不可再移除!")

return

}

jtf.setText(temp.substring(0,

temp.length()-1))

s1=s1.substring(0, s1.length()-1)

s2=s2.substring(0,s2.length()-1)

}

else{

System.out.println("没有可以移除的!")

}

}

}

public static void main(String[] args) {

new T()

}

}


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

原文地址: https://www.outofmemory.cn/yw/11754438.html

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

发表评论

登录后才能评论

评论列表(0条)

保存