
正文
java接收数据的代码 java接收数据的代码有哪些
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java 用数组的方式接收用户输入的数 并输出数组 求怎么实现?
public class Util{
public static void main(String[] args){
java.util.Scanner sc = new java.util.Scanner(System.in);
String[] arr = new String[5];
for(int i = 0; i arr.length; i++){
arr[i] = sc.next();
}
//这里使用util.Arraysjava接收数据的代码的代码输出数组
System.out.println(java.util.Arrays.toString(arr));
}
}
扩展资料:
java中接受用户输入的其他方法
package 控制台接受输入;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.Buffer;
import java.util.Scanner;
public class InputCode {
public static void main(String[] args) throws IOException {
/*
* Scanner类中的方法
* 完美
*/
Scanner input =new Scanner(System.in);
System.out.println("please input your name ");
String name=input.nextLine();
System.out.println(name);
/*
* 缺点:只能接受用户输入的一个字符
*/
System.out.println("enter your name");
char name1 = 0;
try {
//inputstream中的read()()方法放回输入流中下一个字符
name1 = (char) System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(name1);
/*
* InputStreamReader和BufferedReader方法
* 优点:可以获取字符串
* 缺点:获取的是int或者string人需要强转
*/
//通常java接收数据的代码,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader
//包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,
//BufferedReader in= new BufferedReader(new FileReader("foo.in"));
System.out.println("enter your name");
InputStreamReader input1=new InputStreamReader(System.in);
BufferedReader in=new BufferedReader(input1);
String name2=in.readLine();
System.out.println(name2);
}
}
相关问答
Q1: java+用异常处理接收int类型数据出错?
参考代码如下:
该示例使用了 Scanner 类获取用户输入,并使用了 hasNextInt() 方法检查输入是否为整数。如果是字符串类型,则使用 next() 方法获取输入字符串并输出提示信息,然后继续请求用户输入。如果是整数,则使用 nextInt() 方法获取整数值。最后输出接收到的整数值。
注意:在使用完 Scanner 类之后,应该使用 close() 方法关闭该类以避免资源泄漏。
Q2: java连接数据库的代码
用这个类吧.好的话,给我加加分.
import java.sql.*;
/**
* @功能: 一个JDBC的本地化API连接类,封装了数据操作方法,只用传一个SQL语句即可
* @作者: 李开欢
* @日期: 2007/
*/
public class ConnectionDemo {
/*
* 这里可以将常量全部放入另一个类中,以方便修改
*/
private static Connection conn;
private static Statement ps;
private static ResultSet rs;
private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
private static final String USER ="sa";
private static final String PASS = "sa";
public ConnectionDemo() {
// TODO Auto-generated constructor stub
ConnectionDemo.getConnection();
}
public static Connection getConnection(){
System.out.println("连接中...");
try {
Class.forName(ConnectionDemo.DRIVER);
conn = DriverManager.getConnection(ConnectionDemo.URL, ConnectionDemo.USER, ConnectionDemo.PASS);
System.out.println("成功连接");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static Statement getStatement(String sql){
System.out.println("执行SQL语句中...");
try {
ps = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
if(sql.substring(0, 6).equals("select")){
rs = ps.executeQuery(sql);
System.out.println("执行完查询操作,结果已返回ResultSet集合");
}else if(sql.substring(0, 6).equals("delete")){
ps.executeUpdate(sql);
System.out.println("已执行完毕删除操作");
}else if(sql.substring(0, 6).equals("insert")){
ps.executeUpdate(sql);
System.out.println("已执行完毕增加操作");
}else{
ps.executeUpdate(sql);
System.out.println("已执行完毕更新操作");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ps;
}
public static ResultSet getResultSet(){
System.out.println("查询结果为:");
return rs;
}
public static void closeConnection(){
System.out.println("关闭连接中...");
try {
if (rs != null) {
rs.close();
System.out.println("已关闭ResultSet");
}
if (ps != null) {
ps.close();
System.out.println("已关闭Statement");
}
if (conn != null) {
conn.close();
System.out.println("已关闭Connection");
}
} catch (Exception e) {
// TODO: handle exception
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ConnectionDemo.getConnection();
String sql = "delete from type where id = 1";
ConnectionDemo.getStatement(sql);
String sql2 = "insert into type values(1,'教学设备')";
ConnectionDemo.getStatement(sql2);
String sql1 = "select * from type";
ConnectionDemo.getStatement(sql1);
ResultSet rs = ConnectionDemo.getResultSet();
System.out.println("编号 "+"类 型");
try {
while(rs.next()){
System.out.print(" "+rs.getInt(1)+" ");
System.out.println(rs.getString(2));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ConnectionDemo.closeConnection();
}
}
Q3: java接受用户输入代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
* System.in 标准输入流。是从键盘获取数据的
*
* 键盘录入数据:
* A:main方法的args接收参数。
* java HelloWorld hello world java
* B:Scanner(JDK5以后的)
* Scanner sc = new Scanner(System.in);
* String s = sc.nextLine();
* int x = sc.nextInt()
* C:通过字符缓冲流包装标准输入流实现
* BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
*/
public class SystemInDemo {
public static void main(String[] args) throws IOException {
// //获取标准输入流
// InputStream is = System.in;
// //我要一次获取一行行不行呢?
// //行。
// //怎么实现呢?
// //要想实现,首先你得知道一次读取一行数据的方法是哪个呢?
// //readLine()
// //而这个方法在哪个类中呢?
// //BufferedReader
// //所以,你这次应该创建BufferedReader的对象,但是底层还是的使用标准输入流
// // BufferedReader br = new BufferedReader(is);
// //按照我们的推想,现在应该可以了,但是却报错了
// //原因是:字符缓冲流只能针对字符流操作,而你现在是字节流,所以不能是用?
// //那么,我还就想使用了,请大家给我一个解决方案?
// //把字节流转换为字符流,然后在通过字符缓冲流操作
// InputStreamReader isr = new InputStreamReader(is);
// BufferedReader br= new BufferedReader(isr);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一个字符串:");
String line = br.readLine();
System.out.println("你输入的字符串是:" + line);
System.out.println("请输入一个整数:");
// int i = Integer.parseInt(br.readLine());
line = br.readLine();
int i = Integer.parseInt(line);
System.out.println("你输入的整数是:" + i);
}
}
Q4: 疯狂Java讲义:使用DatagramSocket发送、接收数据[2]
程序客户端代码也与此类似 客户端采用循环不断地读取用户键盘输入 每当读到用户输入内容后就将该内容封装成DatagramPacket数据报 再将该数据报发送出去 接着把DatagramSocket中的数据读入接收用的DatagramPacket中(实际上是读入该DatagramPacket所封装的字节数组中) 客户端代码如下
程序清单 codes/ / /UdpClient java
public class UdpClient
{
//定义发送数据报的目的地
public static final int DEST_PORT = ;
public static final String DEST_IP = ;
//定义每个数据报的最大大小为 K
private static final int DATA_LEN = ;
//定义该客户端使用的DatagramSocket
private DatagramSocket socket = null;
//定义接收网络数据的字节数组
byte[] inBuff = new byte[DATA_LEN];
//以指定字节数组创建准备接受数据的DatagramPacket对象
private DatagramPacket inPacket =
new DatagramPacket(inBuff inBuff length)
//定义一个用于发送的DatagramPacket对象
private DatagramPacket outPacket = null;
public void init()throws IOException
{
try
{
//创建一个客户端DatagramSocket 使用随机端口
socket = new DatagramSocket()
//初始化发送用的DatagramSocket 它包含一个长度为 的字节数组
outPacket = new DatagramPacket(new byte[ ]
InetAddress getByName(DEST_IP) DEST_PORT)
//创建键盘输入流
Scanner scan = new Scanner(System in)
//不断读取键盘输入
while(scan hasNextLine())
{
//将键盘输入的一行字符串转换字节数组
byte[] buff = scan nextLine() getBytes()
//设置发送用的DatagramPacket里的字节数据
outPacket setData(buff)
//发送数据报
socket send(outPacket)
//读取Socket中的数据 读到的数据放在inPacket所封装的字节数组里
socket receive(inPacket)
System out println(new String(inBuff
inPacket getLength()))
}
}
//使用finally块保证关闭资源
finally
{
if (socket != null)
{
socket close()
}
}
}
public static void main(String[] args)
throws IOException
{
new UdpClient() init()
}
}
上面程序的粗体字代码同样也是通过DatagramSocket发送 接收DatagramPacket的关键代码 这些代码与服务器的代码基本相似 而客户端与服务器端的唯一区别在于 服务器所在IP地址 端口是固定的 所以客户端可以直接将该数据报发送给服务器 而服务器则需要根据接收到的数据报来决定将 反馈 数据报的目的地
读者可能会发现 使用DatagramSocket进行网络通信时 服务器端无须 也无法保存每个客户端的状态 客户端把数据报发送到服务器后 完全有可能立即退出 但不管客户端是否退出 服务器无法知道客户端的状态
当使用UDP协议时 如果想让一个客户端发送的聊天信息可被转发到其他所有客户端则比较困难 可以考虑在服务器使用Set来保存所有客户端信息 每当接收到一个客户端的数据报之后 程序检查该数据报的源SocketAddress是否在Set集合中 如果不在就将该SocketAddress添加到该Set集合中 但这样一来又涉及一个问题 可能有些客户端发送一个数据报之后永久性地退出了程序 但服务器端还将该客户端的SocketAddress保存在Set集合中……总之 这种方式需要处理的问题比较多 编程比较烦琐 幸好Java为UDP协议提供了MulticastSocket类 通过该类可以轻松实现多点广播
返回目录 疯狂Java讲义
编辑推荐
Java程序性能优化 让你的Java程序更快 更稳定
新手学Java 编程
Java程序设计培训视频教程
lishixinzhi/Article/program/Java/hx/201311/27260
java接收数据的代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java接收数据的代码有哪些、java接收数据的代码的信息别忘了在本站进行查找喔。







