java多行字符串
1. 用java编写一个应用程序:要求用户输入一系列字符串,每个字符串占一行 求高手帮忙。。。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class InputString{
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str;
List<String>高册 list=new ArrayList<String>();
System.out.println("输入的多行数据:");
while((str=s.nextLine())!=null&&!str.trim().equals("") ){
list.add(str);
}
System.out.println("输拦野入的内容为:");
for(int i=0;i<简念喊list.size();i++)
System.out.println(list.get(i));
}
}
2. java如何读取多行字符串的行数
importjava.io.BufferedReader;
importjava.io.FileNotFoundException;
import带罩戚蠢陵java.io.FileReader;
importjava.io.IOException;
/**
*读取文件内容并统计行数
*@authoryoung
*
*/
publicclassBufferedReaderTest{
publicstaticvoidmain(String[]args){
BufferedReaderbr=null;
intline=0;
Stringstr=null;
try{
br=newBufferedReader(newFileReader("c:\1.txt"));
while((str=br.readLine())!=null){
System.out.println("文件内容:"+str);
++line;
// //读取前4行内容
// if(line>=4){
// break;
// }
}
System.out.println(" 文件行数:"+line);
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODO闷碰Auto-generatedcatchblock
e.printStackTrace();
}finally{
if(br!=null){
try{
br.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
}
3. 在Java中怎么实现:统计从键盘上输入的字符串行数。
加个计数器搭卜就丛枝山可以了,每一行累加一次,看图注释渗中!
4. Java中如何将一个较长的字符串分成多行了书写
把大的list分成一个个小的list, 再用map储存
5. java如何 把多个{}中的多行字符串转换为一行一行的格式
具体的字符串.replaceAll("\n", "");
6. java里的事件接收键盘上的输入字符 还有如何在JFrame中显示多行文本
socket用于通讯
swing中JTextArea组件是用于显源厅猜示多行文本的!
示例(参考网络)伏绝 有问题再追问,goodluck!~
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class MyServer extends JFrame implements ActionListener{
JTextArea jta;
JTextField jtf;
JButton jb;
JPanel jp;
ServerSocket ss;
Socket socket;
//网络输入流
Scanner sc;
//网络输出流
PrintWriter pw;
public MyServer()
{
jta = new JTextArea();
jtf = new JTextField(15);
jb = new JButton("发送");
jp = new JPanel();
jp.add(jtf);
jp.add(jb);
JScrollPane jsp = new JScrollPane(jta);
this.add(jsp,BorderLayout.CENTER);
this.add(jp,BorderLayout.SOUTH);
jb.addActionListener(this);
jtf.addActionListener(this);
//展现
this.setTitle("服务雹型器");
this.setSize(300,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
// 开放端口
try {
ss = new ServerSocket(9000);
System.out.println("等待连接");
socket = ss.accept();
System.out.println("已连接");
//网络输入流
sc = new Scanner(socket.getInputStream());
//网络输出流
pw = new PrintWriter(socket.getOutputStream(),true);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(true)
{
//接受客户端发送数据
String str = sc.nextLine();
//显示多行文本框中
jta.append("客户端说"+str+" ");
}
}
public static void main(String[] args)
{
new MyServer();
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb || e.getSource()==jtf)
{
//向客户端发送数据
pw.println(jtf.getText());
//向多行文本框输入历史聊天记录信息
jta.append("服务器说:"+jtf.getText()+" ");
//清空单行文本框内容
jtf.setText("");
}
}
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
//客户端程序
public class MyClient extends JFrame implements ActionListener{
JTextArea jta;
JTextField jtf;
JButton jb;
JPanel jp;
Socket socket;
//网络输入流
Scanner sc;
//网络输出流
PrintWriter pw;
public MyClient()
{
jta = new JTextArea();
jtf = new JTextField(15);
jb = new JButton("发送");
jp = new JPanel();
jp.add(jtf);
jp.add(jb);
JScrollPane jsp = new JScrollPane(jta);
this.add(jsp,BorderLayout.CENTER);
this.add(jp,BorderLayout.SOUTH);
jb.addActionListener(this);
jtf.addActionListener(this);
//展现
this.setTitle("客户端");
this.setSize(300,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
try {
//建立连接
socket = new Socket("127.0.0.1",9000);
//网络输入流
sc = new Scanner(socket.getInputStream());
//网络输出流
pw = new PrintWriter(socket.getOutputStream(),true);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(true)
{
//接受服务器发送数据
String str = sc.nextLine();
//显示在多行文本框
jta.append("服务器说:"+str+" ");
}
}
public static void main(String[] args) {
new MyClient();
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb || e.getSource()==jtf)
{
//向服务器发送数据
pw.println(jtf.getText());
//显示在多行文本框
jta.append("客户端说:"+jtf.getText()+" ");
//清空单行文本框
jtf.setText("");
}
}
}
7. 冒号后面值有多行java
java取字符串冒号后的值
java取字符串冒号后的值_java获取冒号后面的参数猜液实现代码
超级队长汉勤
原创
关注
0点赞·985人阅读
本篇文章小编给大家分享一下java获取冒号竖掘后面的参数实现代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
代码如下:
String regEx=":[\\S]+";
String sql=" select * from a where id=:id and name=:zhangsan ";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(sql);
while(m.find()) {
System.out.println(m.group());
}
补充知识:Java-正则表达式:匹配特定字符开头,数字结尾的任一字符串
1.需求:
通过正则表达式去匹配特定字符开头,数字结尾的字符串
我这里去匹配字符"+,-,@,="开头,数字结尾的字符串
2.代码
public class Test_Leo
{
public static void main(String[] args)
{
String data = "=calc|A!Z 666";
Pattern pattern = Pattern.compile("^[+-@=](.*?)\\d$");
Matcher matcher = pattern.matcher(data);
if(matcher.find())
{
System.out.println(matcher.group());
}else{
System.out.println("nothing");
}
}
}
3.结果
4.解释:
^:定义了以什么开始
[+-@=]:匹配+-@= 任意字符余兆核
(.*?):匹配任意零个或者多个字符
d:匹配单个数字
\d$:匹配数字结尾