java中如何写交互
实现用户输入交互
在Java中可以通过Scanner类实现基本的控制台输入交互。需要导入java.util.Scanner包。
import java.util.Scanner;
public class ConsoleInteraction {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的姓名: ");
String name = scanner.nextLine();
System.out.println("您好, " + name + "!");
}
}
使用BufferedReader读取输入
对于更高效的输入处理,可以使用BufferedReader类。需要配合InputStreamReader使用。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class BufferedInteraction {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入年龄: ");
int age = Integer.parseInt(reader.readLine());
System.out.println("您的年龄是: " + age);
}
}
图形界面交互
使用Swing或JavaFX创建图形用户界面(GUI)实现更丰富的交互体验。以下是Swing的简单示例。
import javax.swing.JOptionPane;
public class GUIInteraction {
public static void main(String[] args) {
String input = JOptionPane.showInputDialog("请输入您的邮箱:");
JOptionPane.showMessageDialog(null, "您输入的邮箱是: " + input);
}
}
命令行参数交互
通过main方法的args参数接收命令行参数,适合脚本化场景。

public class CmdArgs {
public static void main(String[] args) {
if(args.length > 0) {
System.out.println("第一个参数: " + args[0]);
} else {
System.out.println("未提供命令行参数");
}
}
}
文件交互
从文件读取输入或输出结果到文件,实现持久化交互。
import java.io.File;
import java.io.FileWriter;
import java.util.Scanner;
public class FileInteraction {
public static void main(String[] args) throws Exception {
// 写入文件
FileWriter writer = new FileWriter("output.txt");
writer.write("这是保存的内容");
writer.close();
// 读取文件
File file = new File("input.txt");
Scanner fileScanner = new Scanner(file);
while(fileScanner.hasNextLine()) {
System.out.println(fileScanner.nextLine());
}
}
}
网络交互
通过Socket编程实现网络通信交互。
import java.net.Socket;
import java.io.PrintWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class NetworkInteraction {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("localhost", 8080);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out.println("Hello Server");
String response = in.readLine();
System.out.println("服务器响应: " + response);
}
}






