| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1236 人关注过本帖
标题:[求助]求教JAVA中单个字符输入问题
只看楼主 加入收藏
king0718
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-9-18
收藏
 问题点数:0 回复次数:12 
[求助]求教JAVA中单个字符输入问题
Scanner 类中 可用
Scanner cin = new Scanner(new BufferedInputStream(System.in));
String a = cin.next(); // == scanf("%s",a);
cin.nextLine(); //读一行
cin.nextInt(); //读整型
cin.nextLong();
cin.nextFloat();
cin.nextDouble();

有谁能告诉我JAVA有没有像C/C++中读取单个字符的方法啊?????

比如像ch=getchar(); scanf("%c",&ch);这种?????
搜索更多相关主题的帖子: JAVA 字符 输入 
2007-09-21 19:37
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 

可以实现scanf("%c",&ch)的功能,但不能直接实现getchar()的功能.


My BlogClick Me
2007-09-21 20:29
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 


import java.io.*;

public class ReaderChar{
public static void main(String[] args)throws IOException{
Reader reader =new InputStreamReader(System.in);
int c;
while((c =reader.read())!=-1){ //reader a character
System.out.println(\"The character you inputed :\"+(char)c);
}
}
}


My BlogClick Me
2007-09-21 20:34
king0718
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-9-18
收藏
得分:0 
首先谢谢楼上那个帅哥的帮助

但这个我用试了一下~`

~可以从键盘读一个字符进来~~~

那么怎么样读如下数据

3, 13, 6

不是读一行当字符处理~~~

爱好程序设计者加~~QQ284779230
2007-09-21 20:48
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
LZ是想把这些数字读取出来吧?

My BlogClick Me
2007-09-21 21:30
king0718
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-9-18
收藏
得分:0 
不是 一个题~~

读入数据

5, 12, 13
5, 14, 7

这样

C语言
int a,b,k; char ch;
while(scanf("%d%c %d%c %d",&a,&ch,&b,&ch,&k)!=EOF)

~~java杂实现呢??就是那个','不会读~~~

爱好程序设计者加~~QQ284779230
2007-09-21 21:37
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 

目的还是要读那些数字吧?
看看是不是你想要的效果


import java.util.Scanner;

public class ReadNumber{
public static void main(String[] args){
Scanner s =new Scanner(System.in).useDelimiter(\"\\D+\");
int a,b,c;
while(s.hasNext()){
a =s.nextInt();
b =s.nextInt();
c =s.nextInt();
System.out.println(\"a =\"+a+\",b =\"+b+\",c =\"+c);
}
}
}


My BlogClick Me
2007-09-21 21:47
king0718
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-9-18
收藏
得分:0 
好~~我去看看~~~不管行不行~太谢谢你了~~

爱好程序设计者加~~QQ284779230
2007-09-21 21:51
king0718
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-9-18
收藏
得分:0 
哎呀~~~太感激你了~~

我只是JAVA初学者~~太好了~~

Scanner s =new Scanner(System.in).useDelimiter("\\D+");

不过我想知道这个.useDelimiter("\\D+"); 什么意思呢??

和这个Scanner s =new Scanner(System.in);有什么区别呢??

爱好程序设计者加~~QQ284779230
2007-09-21 21:57
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
那个...可能不太容易跟你讲清楚.
意思就是把输入的字符串中非数字部分过滤掉.
你可以自己去看JAVA文档中关于useDelimiter()方法的介绍.

My BlogClick Me
2007-09-21 22:00
快速回复:[求助]求教JAVA中单个字符输入问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012902 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved