91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 16KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-07
  • 語言: Java
  • 標簽: 編譯原理??計算器??

資源簡介

用編譯原理知識編寫的計算器,用Java語言實現。 本資源包括源代碼和課程設計的報告。

資源截圖

代碼片段和文件信息

package?joe;

import?java.io.*;
import?java.util.*;

public?class?Calculator
{
public?static?void?main(String[]?args)
{
Calculator?ca=new?Calculator();
ArrayList?alStr=new?ArrayList();//存放每一行數據
ArrayList?alNum=new?ArrayList();
String?patternL=“[A-Z]“; //是否是大寫字符
String?patternN1=“[\\+\\-]?[1-9][0-9]*([\\.][0-9]+)?“; //正常數值
String?patternN2=“[\\+\\-]?[\\.]?[1-9][0-9]*“; //缺少整數部分的小數
float[]?array=new?float[26]; //存放26個大寫字母代表的值
float?result=0;
try
{
FileReader?input=new?FileReader(“in.txt“);
BufferedReader?br=new?BufferedReader(input);
String?s=br.readLine();
while(s!=null)
{
StringBuffer?temp=new?StringBuffer();
temp=temp.append(s);
alStr.add(temp.toString());
s=br.readLine();
}
for(int?i=0;i {
int?counter=0;
ArrayList?al=ca.analyseString(alStr.get(i));
// 解析每一個字符串
for(int?j=0;j {
if(al.get(j).toString().matches(patternN1))
{//是否是正常數值
alNum.add(counterca.toNumber(al.get(j).toString()));
counter++;
}
else?if(al.get(j).toString().matches(patternN2))
{?//是否是缺整數部分的小數
al.set(jca.insertZero(al.get(j).toString()));
alNum.add(counterca.toNumber(al.get(j).toString()));
counter++;
}else?if(al.get(j).toString().matches(patternL))
{ //是否是大寫字符
char?c=ca.toChar(al.get(j).toString());
int?n=(int)c-65;
if(j {
array[n]=alNum.get(0);
}else
{
alNum.add(counterarray[n]);
counter++;
}
}
else?if(al.get(j).equals(“+“))
{
if(alNum.size()>1)
{
Float?temp=alNum.get(counter-2)+alNum.get(counter-1);
counter=counter-2;
alNum.set(countertemp);
}
counter++;
}
else?if(al.get(j).equals(“-“))
{
if(alNum.size()>1)
{
Float?temp=alNum.get(counter-2)-alNum.get(counter-1);
counter=counter-2;
alNum.set(countertemp);
}
counter++;
}
else?if(al.get(j).equals(“*“))
{
if(alNum.size()>1)
{
Float?temp=alNum.get(counter-2)*alNum.get(counter-1);
counter=counter-2;
alNum.set(countertemp);
}
counter++;
}
else?if(al.get(j).equals(“/“))
{
if(alNum.size()>1)
{
Float?temp=alNum.get(counter-2)/alNum.get(counter-1);
counter=counter-2;
alNum.set(countertemp);
}
counter++;
}
else?if(al.get(j).equals(“%“))
{
if(alNum.size()>1)
{
Float?temp=alNum.get(counter-2)%alNum.get(counter-1);
counter=counter-2;
alNum.set(countertemp);
}
counter++;
}else?if(al.get(j).equals(“sin“))
{
if(alNum.size()>0)
{
Float?temp=(float)Math.sin((double)a

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????6057??2010-01-01?16:01??Calculator.java

?????文件??????63488??2010-01-01?16:01??編譯原理課程設計報告06計1周娥200601030105.doc

?????文件?????????59??2009-12-31?16:41??in.txt

-----------?---------??----------?-----??----

????????????????69604????????????????????3


評論

共有 條評論