java输入输出(java输出语句)
很多朋友对于java输入输出和java输出语句不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
Java中如何实现文件的输入和输出
程序如下:\x0d\x0a \x0d\x0a\x0d\x0aFile file1= new File("/home/a123/a"); \x0d\x0a\x0d\x0a if(file1.exists()){ \x0d\x0a System.out.println("存在文件夹a"); \x0d\x0a} else{ \x0d\x0a file1.mkdir();//文件夹的创建创建文件夹/home/a123/a \x0d\x0a} \x0d\x0a File file2= new File("/home/a123/a/test"); \x0d\x0a if(file2.exists()){ \x0d\x0a System.out.println("存在文件夹或者文件test"); \x0d\x0a} else{ \x0d\x0a try{ \x0d\x0a file2.createNewFile();//文件的创建,注意与文件夹创建的区别 \x0d\x0a} catch(IOException e){ \x0d\x0a// TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a} \x0d\x0a} \x0d\x0a \x0d\x0a/** \x0d\x0a*最简单的文件读写方法是使用类FileWriter \x0d\x0a*(它的父类依次是java.io.OutputStreamWriter——>java.io.Writer——>java.lang.Object); \x0d\x0a*/ \x0d\x0a \x0d\x0a//下面是向文件file2里面写数据 \x0d\x0a try{ \x0d\x0a FileWriter fileWriter= new FileWriter(file2); \x0d\x0a String s= new String("This is a test!\n"+"aaaa"); \x0d\x0a fileWriter.write(s); \x0d\x0a fileWriter.close();//关闭数据流 \x0d\x0a\x0d\x0a} catch(IOException e){ \x0d\x0a// TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a} \x0d\x0a \x0d\x0a/* \x0d\x0a*这样写数据的话,是完全更新文件test里面的内容,即把以前的东西全部删除,重新输入。 \x0d\x0a*如果不想删除以前的数据,而是把新增加的内容增添在文件末尾处。只需要在创建FileWriter对象时候,使用另外一个构造函数即可: \x0d\x0a* FileWriter fileWriter=new FileWriter(file2,true); \x0d\x0a*/ \x0d\x0a \x0d\x0a//下面是从文件file2读东西 \x0d\x0a try{ \x0d\x0a FileReader fileReader= new FileReader(file2); \x0d\x0a String s= null; \x0d\x0a char ch; \x0d\x0a try{ \x0d\x0a char[] c= new char[100]; \x0d\x0a fileReader.read(c,0,2);//具体想得到文件里面的什么值(单个char?int?还是String?), \x0d\x0a System.out.println(c); \x0d\x0a fileReader.close(); \x0d\x0a \x0d\x0a} catch(IOException e){ \x0d\x0a// TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a} \x0d\x0a \x0d\x0a} catch(FileNotFoundException e){ \x0d\x0a// TODO Auto-generated catch block \x0d\x0a e.printStackTrace(); \x0d\x0a} \x0d\x0a/** \x0d\x0a*具体想得到文件里面的什么值(单个char?int?还是String?),需要知道不通read的不同用法: \x0d\x0a* 1. int read()读取单个字符。 \x0d\x0a* 2. int read(char[] cbuf)将字符读入数组。可以再将字符型数组转化位字符串 \x0d\x0a* 3. int read(char[] cbuf,int off,int len)将字符读入数组的某一部分。 \x0d\x0a*这三个方法都返回一个int值,作用是:读取的字符数,如果已到达流的末尾,则返回-1. \x0d\x0a*/ \x0d\x0a \x0d\x0a}
java如何输入一个字符 还有输入“5,6”如何输出它们的值;
/**
这是一个可执行例子,不知道是不是你想要的,有问题请留言。
*/
import java.util.Scanner;
public class ScanDemo{
public static void main(String[] args){
//定义输入对象
/*
* new Scanner()---定义一个输入流对象
* System.in叫做标准输入.因为输入的方式很多,键盘输入,扫描输入等等。
*所谓的标准输入就是键盘输入。
*/
Scanner scanner= new Scanner(System.in);
//定义一个变量,用来存储键盘输入的数据。
String str;
//从键盘进行输入,并把输入的值放到str变量中.
/*
*可以有很多种的输入方式: scanner.nextInt()等等.
* scanner.next()这是是字符串输入,一般都是用这个,因为整数也可以看成是特殊的字符串,
*需要整数的话,在进行强制转型。
*
*不然如果用nextInt(),但是用户输入的不是 int类型的话,那么是会报错的。
*如果用next()不会报错。我们可以在接收完参数之后再进行判断,然后告诉用户输入的不符合条件,让其重新输入。
*
*对于输入字符也是一样的,可以进行判断,不然用户不输入字符那么也是会报错的,你无法控制用户的输入。
*所以只能输入之后在判断。
*/
System.out.println("请您在Console输入数据:");
str= scanner.next();
System.out.println("您输入为:"+str);
}
}
Java怎么实现输入一个string表达式然后输出计算的结果
import java.io.*;
import java.util.*;
class BinaryTree{
BinaryTree left=null;
BinaryTree right=null;
char data=0;
}
public class Calculator{
String porder="";
public void postorder(BinaryTree bt){
//递归后序遍历二叉树
if(bt!=null){
postorder(bt.left);
postorder(bt.right);
porder+=bt.data;
}
}
public int calc(String s){
//计算后缀表达式的值
int i=0,len=0,a=0,b=0;
Stack stack=new Stack();
len=s.length();
for(;i<len;i++){
char c=s.charAt(i);
switch(c){
case'+':
a=(int)stack.pop();
b=(int)stack.pop();
stack.push(a+b);
break;
case'-':
b=(int)stack.pop();
a=(int)stack.pop();
stack.push(a-b);
break;
case'*':
a=(int)stack.pop();
b=(int)stack.pop();
stack.push(a*b);
break;
case'/':
b=(int)stack.pop();
a=(int)stack.pop();
stack.push((int)a/b);
break;
default:
//该字符是数字
stack.push(c-'0');
}
}
return stack.pop();
}
public BinaryTree create(String s){
//构造二叉树结点(递归)
int i=0,pos=0,len=0;
String l="",r="";
BinaryTree node=new BinaryTree();
len=s.length();
if(len==0) return null;
if(len==1){
//递归边界
node.data=s.charAt(0);
return node;
}
//去括号
while((pos=s.indexOf(")"))!=-1){
i=pos;
while((s.charAt(i)!='(')&&(i>0)) i--;
String sub=s.substring(i+1,pos);//括号中的表达式
porder="";
postorder(create(sub));//得到后缀表达式
int sum=calc(porder);//计算后缀表达式的值,替换原来括号中的表达式
s=s.substring(0,i)+String.valueOf(sum)+s.substring(pos+1);
len=s.length();//重新计算s的长度
}
//从后往前扫描得到的第一个优先级最低的运算符号的位置
pos=-1;
for(i=len-1;i>0;i--){
char c=s.charAt(i);
if((c=='+')||(c=='-')){
pos=i;
break;
}
else if(((c=='*')||(c=='/'))&&(pos==-1)) pos=i;
}
//在pos位置将s分为左右两部分,递归构造左右两个部分的二叉树
l=s.substring(0,pos);
r=s.substring(pos+1);
node.data=s.charAt(pos);
node.left=create(l);
node.right=create(r);
return node;
}
public static void main(String args[]) throws Exception{
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
String s=reader.readLine();
Calculator c=new Calculator();
BinaryTree bt=c.create(s);
c.postorder(bt);
System.out.println(c.calc(c.porder));
}
}
好了,文章到此结束,希望可以帮助到大家。