键盘接收用户输入

本文介绍了如何在Java中使用Scanner类从键盘接收用户输入,包括整数和字符串。步骤包括导入Scanner包,创建Scanner对象,友好提示用户输入,以及进行字符串到字符和字符到字符串的转换。示例代码详细展示了输入和转换的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

键盘接收用户输入如:

第一步:导入包,必须位于Java源文件中的第一行

         import java.util.Scanner;

第二步:创建 Scanner 对象

        Scanner input= new Scanner(System.in);

第三步:友好提示//输出语句

        System.out.println("请输入一个数:");

第四步:键盘输入//输入语句

        int num =input.nextInt();//注意等待用户接收键盘输入值,当按回车键,则表示输入完
        毕,并将回车之前所输入的内容献给左侧的变量。

字符串转字符:
        String s=input.next();
        char.c=s.charAt(0);

字符:
        char c=input.next().charAt(0);

字符转字符串:
        char c = 'a';
        String s= ""+c;

这个过程可以分为以下几个步骤: 1. 客户端建立连接:使用套接字函数 `socket()` 创建一个套接字对象,使用 `connect()` 函数连接到服务器端。 2. 客户端从键盘接收用户输入:使用 `fgets()` 函数从标准输入流 `stdin` 中读取用户输入的内容。 3. 客户端将用户输入发送到服务器端:使用 `send()` 函数将用户输入的内容发送到服务器端。 4. 服务器端从客户端接收用户输入:使用 `recv()` 函数从已连接的套接字中接收客户端发送的数据。 5. 服务器端从键盘接收用户输入:使用 `fgets()` 函数从标准输入流 `stdin` 中读取用户输入的内容。 6. 服务器端将用户输入发送到客户端:使用 `send()` 函数将用户输入的内容发送到客户端。 7. 循环上述过程,直到用户在某端输入了 quit:使用`strcmp()`函数判断用户输入是否为 "quit",如果是则跳出循环。 8. 关闭连接,退出程序:使用 `close()` 函数关闭套接字连接,结束程序。 以下是示例代码,供参考: 客户端代码: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #define PORT 8080 #define BUFFER_SIZE 1024 int main() { int client_socket; struct sockaddr_in server_addr; char buffer[BUFFER_SIZE]; // 创建套接字 client_socket = socket(AF_INET, SOCK_STREAM, 0); if (client_socket < 0) { perror("socket creation failed"); exit(EXIT_FAILURE); } // 初始化服务器地址 memset(&server_addr, 0, sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(PORT); server_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); // 连接服务器 if (connect(client_socket, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) { perror("connection failed"); exit(EXIT_FAILURE); } while (1) { // 从键盘接收用户输入 printf("Enter message: "); fgets(buffer, BUFFER_SIZE, stdin); // 发送数据到服务器端 send(client_socket, buffer, strlen(buffer), 0); // 接收服务器端发送的数据 memset(buffer, 0, BUFFER_SIZE); recv(client_socket, buffer, BUFFER_SIZE, 0); printf("Server: %s", buffer); // 判断用户输入是否为 "quit" if (strcmp(buffer, "quit\n") == 0 || strcmp(buffer, "quit\r\n") == 0) { break; } } // 关闭套接字连接 close(client_socket); return 0; } ``` 服务器端代码: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #define PORT 8080 #define BUFFER_SIZE 1024 int main() { int server_socket, client_socket; struct sockaddr_in server_addr, client_addr; char buffer[BUFFER_SIZE]; // 创建套接字 server_socket = socket(AF_INET, SOCK_STREAM, 0); if (server_socket < 0) { perror("socket creation failed"); exit(EXIT_FAILURE); } // 初始化服务器地址 memset(&server_addr, 0, sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(PORT); server_addr.sin_addr.s_addr = INADDR_ANY; // 绑定套接字到 IP 地址和端口号 if (bind(server_socket, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) { perror("bind failed"); exit(EXIT_FAILURE); } // 开始监听连接请求 if (listen(server_socket, 3) < 0) { perror("listen failed"); exit(EXIT_FAILURE); } // 等待客户端连接 printf("Waiting for client connection...\n"); socklen_t client_addr_len = sizeof(client_addr); client_socket = accept(server_socket, (struct sockaddr *)&client_addr, &client_addr_len); if (client_socket < 0) { perror("accept failed"); exit(EXIT_FAILURE); } while (1) { // 接收客户端发送的数据 memset(buffer, 0, BUFFER_SIZE); recv(client_socket, buffer, BUFFER_SIZE, 0); printf("Client: %s", buffer); // 从键盘接收用户输入 printf("Enter message: "); fgets(buffer, BUFFER_SIZE, stdin); // 发送数据到客户端 send(client_socket, buffer, strlen(buffer), 0); // 判断用户输入是否为 "quit" if (strcmp(buffer, "quit\n") == 0 || strcmp(buffer, "quit\r\n") == 0) { break; } } // 关闭套接字连接 close(server_socket); close(client_socket); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值