千锤百炼软工6,7,8
这三天总结一下,10.5号的时候大体上完成了一个老师说的题目的框架,我当时傻傻的想要将每种情况列出来,
然后我发现那个实在太麻烦,都准备放弃了,然后等第二次上课的时候,耳闻到有其他方法,是通过栈实现的,然后我用了
接下来三天的每天晚上,仔细研究了一下怎么把一串字符串分开放入链表,然后再通过栈进行计算,经过了三天的思考,
大概七个小时,我也只完成了将字符串分开放入链表,下面的通过栈计算还是让我很苦恼,不过今天上了一次数据结构的课,
让我恍然大悟,我希望接下来四天的时间可以让我完成通过栈进行计算。下面附上我的源代码
package GOGOGO;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
public class Stack1 {
public static void main(String[] args) {
int [] b = new int[15];
String str1 = "333+(6-99)*741";
String str2 = "";
String str3 = "";
Stack<String> stack = new Stack<String>();
ArrayList<String> list = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
int i=0;
int j=0;
int k=0;
int g=0;
int h=0;
for(char a:str1.toCharArray()) {
if(Character.isDigit(a)) {
g=0;
}
else {
if(k==0) {
str2 = str1.substring(j,i);
j = str1.lastIndexOf(a);
str3 = str1.substring(j,j+1);
list.add(str2);
list.add(str3);
k++;
g++;
}
else {
if(g>=1) {
j = str1.lastIndexOf(a);
str3 = str1.substring(j,j+1);
list.add(str3);
}
else {
str2 = str1.substring(j+1,i);
j = str1.lastIndexOf(a);
str3 = str1.substring(j,j+1);
list.add(str2);
list.add(str3);
System.out.print(g);
}
g++;
}
}
i++;
}
list.add(str1.substring(j+1));
System.out.println(list);
for(String a2:list) {
}
}
}
public static void main(String[] args) {
int [] b = new int[15];
String str1 = "333+(6-99)*741";
String str2 = "";
String str3 = "";
Stack<String> stack = new Stack<String>();
ArrayList<String> list = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
int i=0;
int j=0;
int k=0;
int g=0;
int h=0;
for(char a:str1.toCharArray()) {
if(Character.isDigit(a)) {
g=0;
}
else {
if(k==0) {
str2 = str1.substring(j,i);
j = str1.lastIndexOf(a);
str3 = str1.substring(j,j+1);
list.add(str2);
list.add(str3);
k++;
g++;
}
else {
if(g>=1) {
j = str1.lastIndexOf(a);
str3 = str1.substring(j,j+1);
list.add(str3);
}
else {
str2 = str1.substring(j+1,i);
j = str1.lastIndexOf(a);
str3 = str1.substring(j,j+1);
list.add(str2);
list.add(str3);
System.out.print(g);
}
g++;
}
}
i++;
}
list.add(str1.substring(j+1));
System.out.println(list);
for(String a2:list) {
}
}
}
这三天可以说我的空闲时间都在思考怎么解决这个问题,真的让人头秃,我知道这也许是很基础的东西。
但是真的用了我很大部分的精力和时间。希望我再接再厉。