
正文
JAVA单表置换代码 java 自定义表单 自定义字段
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java字符串置换
import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;public class Demo { public static void main(String[] args) { print("/user/{method}/{userid}.jsp", "/user/update/123.jsp"); } private static void print(String text, String text2) { MapString, String map = findMap(text, text2); for (EntryString, String entry : map.entrySet()) { System.out.println(entry.getKey() + " : " + entry.getValue()); } } public static MapString, String findMap(String text, String text2) { MapString, String map = new HashMap(); String[] split = text.split("/"); String[] split2 = text2.split("/"); if (split.length != split2.length) { return null; } for (int i = 0; i split.length; i++) { if (!split[i].equals(split2[i])) { removePrefix(split, split2, i); removeSuffix(split, split2, i); if (split[i].matches("\\{.*\\}")){ split[i] = split[i].substring(1, split[i].length() - 1); map.put(split[i], split2[i]); } } } return map; } private static void removePrefix(String[] arr, String[] arr2, int i) { for (int j = 1; j arr[i].length(); j++) { if (!arr2[i].startsWith(arr[i].substring(0, j))) { arr[i] = arr[i].substring(j - 1); arr2[i] = arr2[i].substring(j - 1); break; } } } private static void removeSuffix(String[] arr, String[] arr2, int i) { for (int j = arr[i].length(); j 0; j--) { if (!arr2[i].endsWith(arr[i].substring(j))) { int length = arr2[i].length() - arr[i].length(); arr[i] = arr[i].substring(0, j + 1); arr2[i] = arr2[i].substring(0, j + 1 + length); break; } } }}//程序输出userid : 123method : update程序思路:
先按照/把字符串分成几分,然后找到不一致的,掐头去尾,就得到结果了。
相关问答
Q1: Java程序:创建一个顺序表,输出该顺序表,将顺序表中所有值为x的元素替换成y,再输出替换后的顺序表。
import java.util.ArrayList;
import java.util.List;
public class Test
{
/**
* @param args
*/
public static void main(String[] args)
{
// 创建一个顺序表
ListString a = new ArrayListString();
a.add("a");
a.add("b");
a.add("c");
a.add("x");
a.add("d");
a.add("x");
// 按顺序输出创建的顺序表
for (int i = 0; i a.size(); i++)
{
System.out.println("序号:" + i + ", 值:" + a.get(i));
}
// 循环替换x为y
for (int i = 0; i a.size(); i++)
{
String value = a.get(i);
if ("x".equals(value))
{
a.set(i, "y");
}
}
// 按顺序输出替换后的顺序表
for (int i = 0; i a.size(); i++)
{
System.out.println("序号:" + i + ", 值:" + a.get(i));
}
}
}
Q2: java表格代码怎么写
java表格就是java swing。
//创建表头
String[] columnNames = { "First Name", "Last Name", "Sport",
"# of Years", "Vegetarian" };
//创建显示数据
Object[][] data = {
{ "Kathy", "Smith", "Snowboarding", new Integer(5),
new Boolean(false) },
{ "John", "Doe", "Rowing", new Integer(3), new Boolean(true) },
{ "Sue", "Black", "Knitting", new Integer(2),
new Boolean(false) },
{ "Jane", "White", "Speed reading", new Integer(20),
new Boolean(true) },
{ "Joe", "Brown", "Pool", new Integer(10), new Boolean(false) } };
/*
* JTable还提供了一个重载的构造方法,传入两个Vector
* JTable(Vector rowData, Vector columnNames)
*
*/
final JTable table = new JTable(data, columnNames);
table.setBackground(Color.YELLOW);
Q3: 求java代码,修改excel中某一列的值
给你个我以前写的小例子好了
怎么也得改改才好用,是用的jxl的库,你可以从网上下载一个jxl.jar导到你的项目里
看看它的API有不少例子,好像是韩国人写的写点小东西还好有BUG,大项目的话用apache的POI
public class exportEXL {
String fileName= "F:\\NumberProcessed.xls";
String sheetName ="sheet";
private int location = 1;
public void ExportFile(int[] arr) throws WriteException, IOException{
WritableWorkbook wwb = null;
//字体设置,全部参数集中于format变量中
WritableFont wf = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false);
DisplayFormat displayFormat = NumberFormats.INTEGER;
WritableCellFormat format = new WritableCellFormat(wf,displayFormat);
format.setAlignment(jxl.format.Alignment.RIGHT);
format.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.NONE);
try {
// 创建可写入的工作簿对象
wwb = Workbook.createWorkbook(new File(fileName));
if (wwb != null) {
// 在工作簿里创建可写入的工作表,第一个参数为工作表名,第二个参数为该工作表的所在位置
WritableSheet ws = wwb.createSheet(sheetName, location);
if (ws != null) {
/* 添加表结构 */
for(int j =1;j=93;j++){
for(int i=0;iarr.length;i++)
{
//number参数中第一个参数是列,从零开始
//第二个参数是行,从零开始,此程序中每隔75行重复一次
jxl.write.Number number = new jxl.write.Number(0,
i+(j-1)*arr.length,
Integer.parseInt(Integer.toString(arr[i])),format);
//写入单元格
ws.addCell(number);
arr[i] = arr[i]+500;
}
}
}
}
// 从内存中写入到文件
wwb.write();
System.out.println("路径为:" + fileName + "的工作簿写入数据成功!");
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
wwb.close();
}
}
}
Q4: 数据单位转换工具java代码
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class UnitTransfer extends JFrame{
private final int WIDTH = 400, HEIGHT = 300;//窗口默认的宽度、高度
private JLabel lblInUnit=new JLabel("输入单位");
private JComboBox cboIn=new JComboBox(new String[]{"", ""});
private JLabel lblIn=new JLabel("输入数值");
private JTextField txtIn=new JTextField("10");
private JLabel lblOutUnit=new JLabel("输出单位");
private JLabel lblResult=new JLabel("显示结果");
private JLabel txtResult=new JLabel("结果");
private JComboBox cboOut=new JComboBox(new String[]{"", ""});
private JButton btnTrans = new JButton("转换");
private JButton btnClear = new JButton("清空");
private JRadioButton rdLeng = new JRadioButton("长度");
private JRadioButton rdWeig = new JRadioButton("时间");
private String [] lengthUnit={"米", "分米", "厘米", "毫米"};
private String [] timeUnit={"天", "时", "分", "秒"};
public UnitTransfer(){
super("简单的单位转换器 Beta");
this.setSize(WIDTH, HEIGHT);
this.setLayout(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ButtonGroup group = new ButtonGroup();
group.add(rdLeng);
group.add(rdWeig);
this.getContentPane().add(rdLeng);
this.getContentPane().add(rdWeig);
this.getContentPane().add(btnTrans);
this.getContentPane().add(btnClear);
this.getContentPane().add(lblIn);
this.getContentPane().add(txtIn);
this.getContentPane().add(lblInUnit);
this.getContentPane().add(cboIn);
this.getContentPane().add(lblResult);
this.getContentPane().add(txtResult);
this.getContentPane().add(lblOutUnit);
this.getContentPane().add(cboOut);
this.setVisible(true);
this.doLayout();
btnTrans.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
doConvert();
}
});
btnClear.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
txtIn.setText("0");
txtResult.setText("0");
}
});
rdLeng.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cboIn.setModel(new DefaultComboBoxModel(lengthUnit));
cboOut.setModel(new DefaultComboBoxModel(lengthUnit));
}
});
rdWeig.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cboIn.setModel(new DefaultComboBoxModel(timeUnit));
cboOut.setModel(new DefaultComboBoxModel(timeUnit));
}
});
rdLeng.setSelected(true);
cboIn.setModel(new DefaultComboBoxModel(lengthUnit));
cboOut.setModel(new DefaultComboBoxModel(timeUnit));
}
final int offX=100;
public void doLayout(){
super.doLayout();
rdLeng.setBounds(offX, 15, 60, 20);
rdWeig.setBounds(rdLeng.getX()+rdLeng.getWidth()+5, 15, 60, 20);
lblInUnit.setBounds(offX, rdLeng.getY()+rdLeng.getHeight()+20, 80, 20);
cboIn.setBounds(lblInUnit.getX()+lblInUnit.getWidth()+5, lblInUnit.getY(), 80, 20);
lblIn.setBounds(offX, lblInUnit.getY()+lblInUnit.getHeight()+5, 80, 20);
txtIn.setBounds(lblIn.getX()+lblIn.getWidth()+5, lblIn.getY(), 80, 20);
lblOutUnit.setBounds(offX, lblIn.getY()+lblIn.getHeight()+30, 80, 20);
cboOut.setBounds(lblOutUnit.getX()+lblOutUnit.getWidth()+5, lblOutUnit.getY(), 80, 20);
lblResult.setBounds(offX, cboOut.getY()+cboOut.getHeight()+5, 80, 20);
txtResult.setBounds(lblResult.getX()+lblResult.getWidth()+5, lblResult.getY(), 100, 20);
int w=getWidth ();
int x=(w-70*2-5)/2;//水平居中
btnTrans.setBounds(x, lblResult.getY()+lblResult.getHeight()+30, 70, 25);
btnClear.setBounds(btnTrans.getX()+btnTrans.getWidth()+3, btnTrans.getY(), 70, 25);
}
public void doConvert(){
double v=0;
try{
v= Double.parseDouble(txtIn.getText());
}catch(Exception ex){
txtIn.setText("0");
return;
}
//"米", "分米", "厘米", "毫米"
if(rdLeng.isSelected()){
switch(cboIn.getSelectedIndex()){
case 0:
break;
case 1:
v=v/10;
break;
case 2:
v=v/100;
break;
case 3:
v=v/1000;
break;
default:
return;
}
//v 现在是标准单位:米
switch(cboOut.getSelectedIndex()){
case 0:
break;
case 1:
v=v*10;
break;
case 2:
v=v*100;
break;
case 3:
v=v*1000;
break;
default:
return;
}
if(v0.01){
txtResult.setText(String.format("%2.8f", v));
}else{
txtResult.setText(String.format("%2.2f", v));
}
}else{
//"天", "时", "分", "秒"
switch(cboIn.getSelectedIndex()){
case 0:
v=v*24;
break;
case 1:
break;
case 2:
v=v/60;
break;
case 3:
v=v/3600;
break;
default:
return;
}
//v 现在是标准单位:小时
switch(cboOut.getSelectedIndex()){
case 0:
v=v/24;
break;
case 1:
break;
case 2:
v=v*60;
break;
case 3:
v=v*3600;
break;
default:
return;
}
if(v0.01){
txtResult.setText(String.format("%2.8f", v));
}else{
txtResult.setText(String.format("%2.8f", v));
}
}
}
public static void main(String[] args){
EventQueue.invokeLater(new Runnable() {
public void run() {
new UnitTransfer();
}
});
}
}
//请参考,欢迎指正
Q5: java如何实现替换指定位置的指定字符串的功能
可以使用StringBuffer定义字符串,之后使用replace方法替换指定位置的字符串为指定的字符串内容,如下代码:
public
class
Demo1
{
public
static
void
main(String[]
args)
{
StringBuffer
buffer
=
new
StringBuffer("123456");
System.out.println(buffer.toString());//输出123456
buffer.replace(0,
1,
"a");
System.out.println(buffer.toString());//输出a23456
}
}
这里简单介绍一下replace方法的使用,replace方法一共有三个参数,第一个参数是指定要替换的字符串的开始位置,第二个参数是指定要替换的字符串的结束位置(注意这里的结束位置不包括本身),第三个参数是指定想将字符串替换成什么内容。
如:原字符串内容为"123456",现在调用replace(0,
2,
"abc"),原字符串变为"abc3456"
JAVA单表置换代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 自定义表单 自定义字段、JAVA单表置换代码的信息别忘了在本站进行查找喔。







