java类库
2016-03-23 14:39
585 查看
1、键盘输入:java.util中的Scanner类可以获取键盘输入,System.in为标准键盘输入
eg:使用键盘输入括号,判断括号是否匹配?使用栈实现
import java.util.ArrayDeque;
import java.util.Scanner;
//import java.util.List;
//import java.lang.Number;
public class StringMethodTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayDeque stack = new ArrayDeque();//实现栈
System.out.println("请输入String单个括号:");
Scanner scan = new Scanner(System.in);//键盘输入
while(scan.hasNext()){
//for(int i = 0;i < )
char c = scan.next().charAt(0);//键盘输入的第一个数字
if(c=='['||c=='{'||c=='(')
stack.push(c);
if(c==']'||c=='}'||c==')'){
//注意当第一次输入为右括号时的判断问题
if(stack.isEmpty()){
System.out.println("匹配失败");
return ;
}
//System.out.println("匹配失败");
switch(c){
case'}':
if((char)stack.peek()=='{')//注意括号的比较
stack.pop();
break;
case']':
if((char)stack.peek()=='[')//栈里面的peek出来的元素变为object类型,注意类型转换
stack.pop();
break;
case')':
if((char)stack.peek()=='(')
stack.pop();
break;
default:
break;
}
}
if(stack.isEmpty())
System.out.println("匹配成功");
else
System.out.println("未匹配成功,栈中的数据为:"+stack);//打印栈中元素
}
}
}
2、系统相关:System与Runtime类中均有通知系统进行垃圾回收的gc()方法,使用方式为System.gc();。
3、常用类:String类是不可变类,即一旦一个String对象被创建之后,包含在这个对象中的字符序列是不可改变的
StringBuffer则可创建字符序列可变的字符串,可以通过方法改变字符串,它是线程安全的。
StringBuilder不是线程安全的(网易笔试题),如果创建内容可变的字符串对象,优先使用StringBuilder类。
eg:使用键盘输入括号,判断括号是否匹配?使用栈实现
import java.util.ArrayDeque;
import java.util.Scanner;
//import java.util.List;
//import java.lang.Number;
public class StringMethodTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayDeque stack = new ArrayDeque();//实现栈
System.out.println("请输入String单个括号:");
Scanner scan = new Scanner(System.in);//键盘输入
while(scan.hasNext()){
//for(int i = 0;i < )
char c = scan.next().charAt(0);//键盘输入的第一个数字
if(c=='['||c=='{'||c=='(')
stack.push(c);
if(c==']'||c=='}'||c==')'){
//注意当第一次输入为右括号时的判断问题
if(stack.isEmpty()){
System.out.println("匹配失败");
return ;
}
//System.out.println("匹配失败");
switch(c){
case'}':
if((char)stack.peek()=='{')//注意括号的比较
stack.pop();
break;
case']':
if((char)stack.peek()=='[')//栈里面的peek出来的元素变为object类型,注意类型转换
stack.pop();
break;
case')':
if((char)stack.peek()=='(')
stack.pop();
break;
default:
break;
}
}
if(stack.isEmpty())
System.out.println("匹配成功");
else
System.out.println("未匹配成功,栈中的数据为:"+stack);//打印栈中元素
}
}
}
2、系统相关:System与Runtime类中均有通知系统进行垃圾回收的gc()方法,使用方式为System.gc();。
3、常用类:String类是不可变类,即一旦一个String对象被创建之后,包含在这个对象中的字符序列是不可改变的
StringBuffer则可创建字符序列可变的字符串,可以通过方法改变字符串,它是线程安全的。
StringBuilder不是线程安全的(网易笔试题),如果创建内容可变的字符串对象,优先使用StringBuilder类。
相关文章推荐
- java 输出控制台录入
- java内存泄露
- eclipse下使用NDK开发so库
- struts2
- spring3.1以上利用 ehcache进行注解配置缓存不起作用的原因
- mybatis在spring中使用批量插入
- struts2 切换jar包版本的时候,idea造成jar包重复...导致错误
- 500 G JAVA视频网盘分享
- Eclipse theme 配置
- SpringMVC helloworld
- (整理)Java实现链表-----判断链表是否有环
- Struts2 doubleselect标签的使用
- spring mvc
- javaSE
- Java之Servlet
- Java BeanValidation
- Java文件File操作一:文件的创建和删除
- Spring容器加载完毕干一件事情(利用ContextRefreshedEvent事件)
- 分布式dubbo框架+apex+Spring
- Hibernate和Spring的缓存机制