重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
按照题目要求编写的Java方法如下
创新互联专注于西岗企业网站建设,响应式网站,成都商城网站开发。西岗网站建设公司,为西岗等地区提供建站服务。全流程按需制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
public void printDigit(int n){
for(int i=1;i=n;i++){
for(int j=1;j=2*i-1;j++){
System.out.print(j);
}
System.out.println();
}
}
完整的Java程序如下
public class H {
public void printDigit(int n){
for(int i=1;i=n;i++){
for(int j=1;j=2*i-1;j++){
System.out.print(j);
}
System.out.println();
}
}
public static void main(String []args) {
new H().printDigit(4);
}
}
java编写显示文本的应用程序, 需要用到图形界面GUI编程技术.
步骤一: 需要搭建一个整体的外观, 调整布局和组件的位置.
主要需要使用的组件
JTextField 文本框组件: 用于当做地址栏, 填写文件的路径
JButton 按钮, 用于响应点击事件,根据地址栏的地址读取文件, 并且显示到文本域里
JTextArea 文本域, 用于显示文件里的字符串信息
JLabel 标签, 用于显示行数信息
布局: 使用边界布局BorderLayout,可以快速按照上下左右中的位置快速布局.
步骤二: IO流,读取文本文件信息,并统计行数.
由于要按行读取,方便计算文件的行数, 所以使用Buffered 可以事半功倍.
核心代码如下
StringBuffer txtbuf=new StringBuffer();//用于保存文本信息
int lines=0;//用于计算行数
try {
BufferedReader br = new BufferedReader(new FileReader(fp));
String hasRead=null;
while((hasRead=br.readLine())!=null){
txtbuf.append(hasRead+"\n");
lines++;
}
br.close();//IO流用完记得关闭
} catch (Exception e) {
//当IO出现异常时,要进行提示
JOptionPane.showMessageDialog(this, "文件读取错误,确认文件存在,\n或者没有被其他文件打开.","IO错误",JOptionPane.ERROR_MESSAGE);;
}
步骤三:整合代码
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class ShowTextFrame extends JFrame implements ActionListener{
JTextArea jta;//该文本域用于显示文本信息
JTextField jtf;//该文本框,用于填写文件路径
JLabel jl;//该标签用于保存读取到的行数
JButton jbt;//按钮
public ShowTextFrame() {
jtf = new JTextField(18);
jbt = new JButton("读取并显示");
jbt.addActionListener(this);
JPanel jp1 = new JPanel();
jp1.add(jtf);
jp1.add(jbt);
add(jp1,BorderLayout.NORTH);
jta = new JTextArea();
JScrollPane jsp = new JScrollPane(jta);//文本域添加到滚动面板
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);//垂直滚动条一直显示
add(jsp);
jl = new JLabel("文件共有0行");
JPanel jp2 = new JPanel();
jp2.add(jl);
add(jp2,BorderLayout.SOUTH);
setTitle("显示文本");//窗口标题
setSize(380, 320);
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(jbt==e.getSource()){
String fp = jtf.getText().trim();
Info info = getInfo(fp);
jta.setText(info.txt);//把文本信息显示到文本域
jl.setText("文件共有"+info.lines+"行");//把行数显示显示到JLabel
}
}
public Info getInfo(String fp){//通过文件路径,获取文件信息(字符串信息和行数信息)
StringBuffer txtbuf=new StringBuffer();
int lines=0;
try {
BufferedReader br = new BufferedReader(new FileReader(fp));
String hasRead=null;
while((hasRead=br.readLine())!=null){
txtbuf.append(hasRead+"\n");
lines++;
}
br.close();//IO流用完记得关闭
} catch (Exception e) {
//当IO出现异常时,要进行提示
JOptionPane.showMessageDialog(this, "文件读取错误,确认文件存在,\n或者没有被其他文件打开.","IO错误",JOptionPane.ERROR_MESSAGE);;
}
return new Info(txtbuf.toString(), lines);
}
public static void main(String[] args) {
new ShowTextFrame();//创建窗口实例
}
}
class Info{//辅助类, 用于传递信息
String txt;//文字信息
int lines;// 行数信息
public Info(String txt, int lines) {
this.txt = txt;
this.lines = lines;
}
}
运行效果图
问题1:在编辑区最左边地方右键,选择“Show Line Numbers”就行了。
问题2:快捷键(ctrl+f)
问题3:在工程名上右键,选择“Refactor-Rename”。
希望对你有帮助!
使用JS代码 var i = document.getElementById("project").rows.length; 这个就能够获取到table的行数,project是table的id属性的值,你在挑战的时候把参数i带上就可以了