首页源码substring源码,substring

substring源码,substring

编程之家2026-05-30902次浏览

大家好,substring源码相信很多的网友都不是很明白,包括substring也是一样,不过没有关系,接下来就来为大家分享关于substring源码和substring的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

substring源码,substring

java windows记事本源代码

该项目代码包括两个文件:MainFrame.java和SelectTextFile.java。

(SelectTextFile.java的代码这里就不贴了,太长了。你百度HI我吧^_^)

补充说明:我这个里面没有“新建”,但其实新建也是一样调用那个SelectTextFile.java而已,而且,新建的时候更简单,只须按照路径调用File的.createNewFile()就可以了。具体我就不添加了。有疑问的话你可以百度HI我)

1.MainFrame.java代码:

package MyProject;

import java.awt.BorderLayout;

substring源码,substring

import javax.swing.JPanel;

import javax.swing.JFrame;

import java.awt.Dimension;

import javax.swing.JMenuBar;

import javax.swing.JMenu;

import javax.swing.JMenuItem;

substring源码,substring

import javax.swing.JLabel;

import java.awt.Rectangle;

import javax.swing.JTextArea;

import javax.swing.JScrollPane;

import java.awt.datatransfer.*;

import java.io.*;

public class MainFrame extends JFrame{

private static final long serialVersionUID= 1L;

private JPanel jContentPane= null;

private JMenuBar jJMenuBar= null;

private JMenu jMenu= null;

private JMenu jMenu1= null;

private JMenu jMenu2= null;

private JMenuItem jMenuItem= null;

private JMenuItem jMenuItem1= null;

private JMenuItem jMenuItem2= null;

private JMenuItem jMenuItem3= null;

private JLabel jLabel= null;

private JScrollPane jScrollPane= null;

private JTextArea jTextArea= null;

private JMenuItem jMenuItem4= null;

private JMenuItem jMenuItem5= null;

private JMenuItem jMenuItem6= null;

private JMenuItem jMenuItem7= null;

private static MainFrame myMainFrame=null;

private static String textstr="";///用于记录文本文件的路径

private File myFile=null;

private FileReader myrder=null;

private FileWriter mywr=null;

/**

* This is the default constructor

*/

public MainFrame(){

super();

initialize();

}

/**

* This method initializes this

*

*@return void

*/

private void initialize(){

this.setSize(412, 350);

this.setJMenuBar(getJJMenuBar());

this.setContentPane(getJContentPane());

this.setTitle("JFrame");

this.addWindowListener(new java.awt.event.WindowAdapter(){

public void windowActivated(java.awt.event.WindowEvent e){

if(!textstr.equals("")){

try{

myFile=new File(textstr);

if(!myFile.exists()){

myFile.createNewFile();

}

myrder=new FileReader(myFile);

char[] mychar=new char[(int)myFile.length()];

myrder.read(mychar);

String tmp=new String(mychar);

jTextArea.setText(tmp);

myrder.close();

}

catch(Exception ee){

ee.printStackTrace();

}

}

}

public void windowClosing(java.awt.event.WindowEvent e){

System.exit(0);

}

});

this.setVisible(true);

myMainFrame=this;

}

/**

* This method initializes jContentPane

*

*@return javax.swing.JPanel

*/

private JPanel getJContentPane(){

if(jContentPane== null){

jLabel= new JLabel();

jLabel.setBounds(new Rectangle(15, 18, 65, 18));

jLabel.setText("文件内容:");

jContentPane= new JPanel();

jContentPane.setLayout(null);

jContentPane.add(jLabel, null);

jContentPane.add(getJScrollPane(), null);

}

return jContentPane;

}

/**

* This method initializes jJMenuBar

*

*@return javax.swing.JMenuBar

*/

private JMenuBar getJJMenuBar(){

if(jJMenuBar== null){

jJMenuBar= new JMenuBar();

jJMenuBar.add(getJMenu());

jJMenuBar.add(getJMenu1());

jJMenuBar.add(getJMenu2());

}

return jJMenuBar;

}

/**

* This method initializes jMenu

*

*@return javax.swing.JMenu

*/

private JMenu getJMenu(){

if(jMenu== null){

jMenu= new JMenu();

jMenu.setText("文件");

jMenu.add(getJMenuItem());

jMenu.add(getJMenuItem1());

jMenu.add(getJMenuItem2());

jMenu.add(getJMenuItem3());

}

return jMenu;

}

/**

* This method initializes jMenu1

*

*@return javax.swing.JMenu

*/

private JMenu getJMenu1(){

if(jMenu1== null){

jMenu1= new JMenu();

jMenu1.setText("编辑");

jMenu1.add(getJMenuItem4());

jMenu1.add(getJMenuItem5());

jMenu1.add(getJMenuItem6());

}

return jMenu1;

}

/**

* This method initializes jMenu2

*

*@return javax.swing.JMenu

*/

private JMenu getJMenu2(){

if(jMenu2== null){

jMenu2= new JMenu();

jMenu2.setText("帮助");

jMenu2.add(getJMenuItem7());

}

return jMenu2;

}

/**

* This method initializes jMenuItem

*

*@return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem(){

if(jMenuItem== null){

jMenuItem= new JMenuItem();

jMenuItem.setText("打开");

jMenuItem.addActionListener(new java.awt.event.ActionListener(){

public void actionPerformed(java.awt.event.ActionEvent e){

MainFrame.this.myMainFrame.setEnabled(false);

SelectTextFile mysl=new SelectTextFile();

mysl.setVisible(true);

}

});

}

return jMenuItem;

}

/**

* This method initializes jMenuItem1

*

*@return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem1(){

if(jMenuItem1== null){

jMenuItem1= new JMenuItem();

jMenuItem1.setText("关闭");

jMenuItem1.addActionListener(new java.awt.event.ActionListener(){

public void actionPerformed(java.awt.event.ActionEvent e){

try{

myFile=null;

}

catch(Exception ee){

ee.printStackTrace();

}

jTextArea.setText("");

}

});

}

return jMenuItem1;

}

/**

* This method initializes jMenuItem2

*

*@return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem2(){

if(jMenuItem2== null){

jMenuItem2= new JMenuItem();

jMenuItem2.setText("保存");

jMenuItem2.addActionListener(new java.awt.event.ActionListener(){

public void actionPerformed(java.awt.event.ActionEvent e){

try{

String tmp=jTextArea.getText();

char[] mychar=tmp.toCharArray();

myFile.delete();

myFile.createNewFile();

mywr=new FileWriter(myFile);

mywr.write(mychar);

mywr.close();

}

catch(Exception ee){

ee.printStackTrace();

}

}

});

}

return jMenuItem2;

}

/**

* This method initializes jMenuItem3

*

*@return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem3(){

if(jMenuItem3== null){

jMenuItem3= new JMenuItem();

jMenuItem3.setText("退出");

jMenuItem3.addActionListener(new java.awt.event.ActionListener(){

public void actionPerformed(java.awt.event.ActionEvent e){

System.exit(0);

}

});

}

return jMenuItem3;

}

/**

* This method initializes jScrollPane

*

*@return javax.swing.JScrollPane

*/

private JScrollPane getJScrollPane(){

if(jScrollPane== null){

jScrollPane= new JScrollPane();

jScrollPane.setBounds(new Rectangle(15, 46, 371, 225));

jScrollPane.setViewportView(getJTextArea());

}

return jScrollPane;

}

/**

* This method initializes jTextArea

*

*@return javax.swing.JTextArea

*/

private JTextArea getJTextArea(){

if(jTextArea== null){

jTextArea= new JTextArea();

}

return jTextArea;

}

/**

* This method initializes jMenuItem4

*

*@return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem4(){

if(jMenuItem4== null){

jMenuItem4= new JMenuItem();

jMenuItem4.setText("复制");

jMenuItem4.addActionListener(new java.awt.event.ActionListener(){

public void actionPerformed(java.awt.event.ActionEvent e){

MainFrame.this.setClipboardText(MainFrame.this.getToolkit().getSystemClipboard(),jTextArea.getSelectedText());

}

});

}

return jMenuItem4;

}

/**

* This method initializes jMenuItem5

*

*@return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem5(){

if(jMenuItem5== null){

jMenuItem5= new JMenuItem();

jMenuItem5.setText("剪切");

jMenuItem5.addActionListener(new java.awt.event.ActionListener(){

public void actionPerformed(java.awt.event.ActionEvent e){

MainFrame.this.setClipboardText(MainFrame.this.getToolkit().getSystemClipboard(),jTextArea.getSelectedText());

jTextArea.setText(jTextArea.getText().substring(0,jTextArea.getSelectionStart()));

}

});

}

return jMenuItem5;

}

/**

* This method initializes jMenuItem6

*

*@return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem6(){

if(jMenuItem6== null){

jMenuItem6= new JMenuItem();

jMenuItem6.setText("黏贴");

jMenuItem6.addActionListener(new java.awt.event.ActionListener(){

public void actionPerformed(java.awt.event.ActionEvent e){

try{

jTextArea.setText(jTextArea.getText().substring(0,jTextArea.getSelectionStart()));

jTextArea.setText(jTextArea.getText()+(MainFrame.this.getClipboardText(MainFrame.this.getToolkit().getSystemClipboard())));

}

catch(Exception ee){

ee.printStackTrace();

}

}

});

}

return jMenuItem6;

}

/**

* This method initializes jMenuItem7

*

*@return javax.swing.JMenuItem

*/

private JMenuItem getJMenuItem7(){

if(jMenuItem7== null){

jMenuItem7= new JMenuItem();

jMenuItem7.setText("关于记事本");

jMenuItem7.addActionListener(new java.awt.event.ActionListener(){

public void actionPerformed(java.awt.event.ActionEvent e){

////暂无代码!!

}

});

}

return jMenuItem7;

}

public static void main(String args[]){

new MainFrame();

}

public static MainFrame getMyMainFrame(){

return myMainFrame;

}

public static void setMyMainFrame(MainFrame myMainFrame){

MainFrame.myMainFrame= myMainFrame;

}

public static String getTextstr(){

return textstr;

}

public static void setTextstr(String textstr){

MainFrame.textstr= textstr;

}

protected static String getClipboardText(Clipboard clip) throws Exception{

Transferable clipT= clip.getContents(null);//获取剪切板中的内容

if(clipT!= null){

if(clipT.isDataFlavorSupported(DataFlavor.stringFlavor))//检查内容是否是文本类型

return(String)clipT.getTransferData(DataFlavor.stringFlavor);

}

return null;

}

protected static void setClipboardText(Clipboard clip, String writeMe){

Transferable tText= new StringSelection(writeMe);

clip.setContents(tText, null);

}

}//@jve:decl-index=0:visual-constraint="10,10"

Java怎么实现输入一个string表达式然后输出计算的结果

import java.io.*;

import java.util.*;

class BinaryTree{

BinaryTree left=null;

BinaryTree right=null;

char data=0;

}

public class Calculator{

String porder="";

public void postorder(BinaryTree bt){

//递归后序遍历二叉树

if(bt!=null){

postorder(bt.left);

postorder(bt.right);

porder+=bt.data;

}

}

public int calc(String s){

//计算后缀表达式的值

int i=0,len=0,a=0,b=0;

Stack stack=new Stack();

len=s.length();

for(;i<len;i++){

char c=s.charAt(i);

switch(c){

case'+':

a=(int)stack.pop();

b=(int)stack.pop();

stack.push(a+b);

break;

case'-':

b=(int)stack.pop();

a=(int)stack.pop();

stack.push(a-b);

break;

case'*':

a=(int)stack.pop();

b=(int)stack.pop();

stack.push(a*b);

break;

case'/':

b=(int)stack.pop();

a=(int)stack.pop();

stack.push((int)a/b);

break;

default:

//该字符是数字

stack.push(c-'0');

}

}

return stack.pop();

}

public BinaryTree create(String s){

//构造二叉树结点(递归)

int i=0,pos=0,len=0;

String l="",r="";

BinaryTree node=new BinaryTree();

len=s.length();

if(len==0) return null;

if(len==1){

//递归边界

node.data=s.charAt(0);

return node;

}

//去括号

while((pos=s.indexOf(")"))!=-1){

i=pos;

while((s.charAt(i)!='(')&&(i>0)) i--;

String sub=s.substring(i+1,pos);//括号中的表达式

porder="";

postorder(create(sub));//得到后缀表达式

int sum=calc(porder);//计算后缀表达式的值,替换原来括号中的表达式

s=s.substring(0,i)+String.valueOf(sum)+s.substring(pos+1);

len=s.length();//重新计算s的长度

}

//从后往前扫描得到的第一个优先级最低的运算符号的位置

pos=-1;

for(i=len-1;i>0;i--){

char c=s.charAt(i);

if((c=='+')||(c=='-')){

pos=i;

break;

}

else if(((c=='*')||(c=='/'))&&(pos==-1)) pos=i;

}

//在pos位置将s分为左右两部分,递归构造左右两个部分的二叉树

l=s.substring(0,pos);

r=s.substring(pos+1);

node.data=s.charAt(pos);

node.left=create(l);

node.right=create(r);

return node;

}

public static void main(String args[]) throws Exception{

BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));

String s=reader.readLine();

Calculator c=new Calculator();

BinaryTree bt=c.create(s);

c.postorder(bt);

System.out.println(c.calc(c.porder));

}

}

关于substring源码到此分享完毕,希望能帮助到您。

幼儿园网站源码 附近幼儿园幻塔电子密码锁密码(云丁智能密码锁初始密码)