按照題目要求編寫的Java方法如下
創(chuàng)新互聯(lián)專注于西崗企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,成都商城網(wǎng)站開發(fā)。西崗網(wǎng)站建設(shè)公司,為西崗等地區(qū)提供建站服務(wù)。全流程按需制作,專業(yè)設(shè)計,全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
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編寫顯示文本的應(yīng)用程序, 需要用到圖形界面GUI編程技術(shù).
步驟一: 需要搭建一個整體的外觀, ?調(diào)整布局和組件的位置.
主要需要使用的組件
JTextField 文本框組件: 用于當(dāng)做地址欄, 填寫文件的路徑
JButton 按鈕, 用于響應(yīng)點(diǎn)擊事件,根據(jù)地址欄的地址讀取文件, 并且顯示到文本域里
JTextArea 文本域, 用于顯示文件里的字符串信息
JLabel ?標(biāo)簽, 用于顯示行數(shù)信息
布局: 使用邊界布局BorderLayout,可以快速按照上下左右中的位置快速布局.
步驟二: IO流,讀取文本文件信息,并統(tǒng)計行數(shù).
由于要按行讀取,方便計算文件的行數(shù), 所以使用Buffered 可以事半功倍.
核心代碼如下
StringBuffer?txtbuf=new?StringBuffer();//用于保存文本信息
int?lines=0;//用于計算行數(shù)
try?{
BufferedReader?br?=?new?BufferedReader(new?FileReader(fp));
String?hasRead=null;
while((hasRead=br.readLine())!=null){
txtbuf.append(hasRead+"\n");
lines++;
}
br.close();//IO流用完記得關(guān)閉
}?catch?(Exception?e)?{
//當(dāng)IO出現(xiàn)異常時,要進(jìn)行提示
JOptionPane.showMessageDialog(this,?"文件讀取錯誤,確認(rèn)文件存在,\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;//該標(biāo)簽用于保存讀取到的行數(shù)
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("顯示文本");//窗口標(biāo)題
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+"行");//把行數(shù)顯示顯示到JLabel
}
}
public?Info?getInfo(String?fp){//通過文件路徑,獲取文件信息(字符串信息和行數(shù)信息)
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流用完記得關(guān)閉
}?catch?(Exception?e)?{
//當(dāng)IO出現(xiàn)異常時,要進(jìn)行提示
JOptionPane.showMessageDialog(this,?"文件讀取錯誤,確認(rèn)文件存在,\n或者沒有被其他文件打開.","IO錯誤",JOptionPane.ERROR_MESSAGE);;
}
return?new?Info(txtbuf.toString(),?lines);
}
public?static?void?main(String[]?args)?{
new?ShowTextFrame();//創(chuàng)建窗口實(shí)例
}
}
class?Info{//輔助類,?用于傳遞信息
String?txt;//文字信息
int?lines;//?行數(shù)信息
public?Info(String?txt,?int?lines)?{
this.txt?=?txt;
this.lines?=?lines;
}
}
運(yùn)行效果圖
問題1:在編輯區(qū)最左邊地方右鍵,選擇“Show Line Numbers”就行了。
問題2:快捷鍵(ctrl+f)
問題3:在工程名上右鍵,選擇“Refactor-Rename”。
希望對你有幫助!
使用JS代碼 var i = document.getElementById("project").rows.length; 這個就能夠獲取到table的行數(shù),project是table的id屬性的值,你在挑戰(zhàn)的時候把參數(shù)i帶上就可以了