可以通过”Scanner“函数 直接输入参数的形式,来实现输入语句,举例:
10年积累的成都网站制作、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有攀枝花免费网站建设让你可以放心的选择与我们合作。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入一个整数:");
int length=input.nextInt();//输入一个整数
System.out.println("输入的整数是:"+length);}
}
备注:Scanner函数就是用来进行语句输入的,上面举例的是整数类型,也可以用以下语句“String length=input.next()”,输入的就是字符串类型等。
我按照你的代码:
编写1.txt文件:
代码修改为:
结果就是这样的,不是错,因为你的list[]定义的是char数组,可以正确的显示出字符,但是你的num[]定义的是int数组,相当于把char转换成了int,而char转换成int时,实际值为该字符对应的ASCII码。
首先我们查一下ASCII码,找到字符'0'对应的十进制数(即int的值):
是48,也就是说,字符'0'相当于十进制数48,所以读我的1.txtx文件,第一个字符是'1',你的num[j]=list[j]-'0'计算的时候,就是'1'-'0'相当于49-48=1,所以字符1打印出来就是1。
然后我们看我1.txt的第4个字符,是'a',找到'a'的码值:
所以'a'-'0'相当于97-48=49,所以打出来的结果才是49,同理就可以得出了字符'b'、'c'、'!'、'@'、'#'减'0'后的结果了。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class NumberSplit {
public StringBuffer getString(String str) {
StringBuffer strbuf = new StringBuffer("t");
boolean flag = true;
for (int i = 0; i str.length(); i++) {
char c = str.charAt(i);
// 判断是否是数字
if (c = '0' c = '9') {
// 判断和字符串中的数字是否重复
for (int j = 1; j strbuf.length(); j++) {
if (c == strbuf.charAt(j)) {
// 如果重复,标志位数值为false,并跳出循环;否则标志位设置为true.
flag = false;
break;
} else
flag = true;
}
// 只有在即是数字又不重复的情况下才将改字符拼接到字符串上.
if (flag) {
strbuf.append(c);
}
}
}
return strbuf;
}
public static void main(String args[]) throws Exception {
System.out.println("请输入一段字符串,并以回车结束");
BufferedReader buf = new BufferedReader(
new InputStreamReader(System.in));
String str = buf.readLine();
StringBuffer strbuf = new NumberSplit().getString(str);
// 将返回的StringBuffer转换为字符数组
char c[] = strbuf.deleteCharAt(0).toString().toCharArray();
// 对字符数组排序
Arrays.sort(c);
// 输出字符数组
for (int i = 0; i strbuf.length(); i++) {
System.out.print(c[i]);
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class NumberSplit {
public StringBuffer getString(String str) {
StringBuffer strbuf = new StringBuffer("t");
boolean flag = true;
for (int i = 0; i str.length(); i++) {
char c = str.charAt(i);
// 判断是否是数字
if (c = '0' c = '9') {
// 判断和字符串中的数字是否重复
for (int j = 1; j strbuf.length(); j++) {
if (c == strbuf.charAt(j)) {
// 如果重复,标志位数值为false,并跳出循环;否则标志位设置为true.
flag = false;
break;
} else
flag = true;
}
// 只有在即是数字又不重复的情况下才将改字符拼接到字符串上.
if (flag) {
strbuf.append(c);
}
}
}
return strbuf;
}
public static void main(String args[]) throws Exception {
System.out.println("请输入一段字符串,并以回车结束");
BufferedReader buf = new BufferedReader(
new InputStreamReader(System.in));
String str = buf.readLine();
StringBuffer strbuf = new NumberSplit().getString(str);
// 将返回的StringBuffer转换为字符数组
char c[] = strbuf.deleteCharAt(0).toString().toCharArray();
// 对字符数组排序
Arrays.sort(c);
// 输出字符数组
for (int i = 0; i strbuf.length(); i++) {
System.out.print(c[i]);
}
}
import java.io.*;
import java.util.*;
public class test {
public static void main(String[] args){
int total=0;//临时缓存总和并赋初始值
FileInputStream fin=null;
FileOutputStream fout=null;
BufferedReader br = null;
try{
fin=new FileInputStream("in31488.txt");//读取文件
fout=new FileOutputStream("out31488.txt");//创立新文件
int temp;
String[] se=null;
br = new BufferedReader(new FileReader("in31488.txt"));
String line = br.readLine();
while((line = br.readLine()) != null){
不为空则读取一行
se = line.split(" ");
分割存入se
}
/* 循环相加数组 */
int i,j=0;
for(i=0;i=se.length;i++){
j=Integer.parseInt(se[i]);
total+=j;
}
fout.write(total);//写入结果
}catch(IOException e){}
finally{
try{
if(fin!=null)
fin.close();
if(fout!=null)
fout.close();
}catch (IOException e){}
}
System.out.print("总和为:"+total);
}