java修改,java修改數組長度

本文目錄一覽:

Java代碼修改

import java.awt.Canvas;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Image;

import java.util.Random;

import javax.swing.JFrame;

class RainCanvas extends Canvas implements Runnable{

private int width, height;

private Image offScreen; // 緩衝圖片

private char[][] charset; // 隨機字符集合

private int[] pos; // 列的起始位置

private Color[] colors = new Color[25]; // 列的漸變顏色

public RainCanvas(int width, int height) {

this.width = width;

this.height = height;

// 生成ASCII可見字符集合

//創建一個新的隨機器

Random rand = new Random();

 //width/10為字元雨屏幕的寬度  height/10為字元雨屏幕的長度

//隨機字元數組

charset = new char[width / 10][height / 10];

for (int i = 0; i  charset.length; i++) {

for (int j = 0; j  charset[i].length; j++) {

//nextInt(int n) 返回一個偽隨機數,它是從此隨機數生成器的序列中取出的、在 0(包括)和指定值(不包括)之間均勻分布的 int值。

//48–144代表鍵盤上的字母 符號 數字

//為charset數組的每個元素取值

charset[i][j] = (char) (rand.nextInt(96) + 48); }

}

// 隨機化列起始位置

pos = new int[charset.length];

for (int i = 0; i  pos.length; i++) {

pos[i] = rand.nextInt(pos.length);

}

// 生成從黑色到綠色的漸變顏色,最後一個保持為白色

for (int i = 0; i  colors.length – 1; i++) {

//顏色漸變

colors[i] = new Color(0, 255 / colors.length * (i + 1), 0); }

//設置最底下一個的字元的顏色    0 0 255 藍色  255 0 0 紅色  255 255 255 白色  0 255 0 綠色

colors[colors.length – 1] = new Color(0, 0, 255); 

setBackground(Color.black);

setSize(width, height);

setVisible(true);

}

public void startRain() {

new Thread(this).start();

}

public void drawRain() {

if (offScreen == null) {

return;

}

// Random rand = new Random();

//getGraphice()創建供繪製閉屏圖像使用的圖形上下文

Graphics g = offScreen.getGraphics();

//通過使用當前繪圖表面的背景色進行填充來清除指定的矩形。

g.clearRect(0, 0, width, height);

//將此圖形上下文的字體設置為指定字體。使用此圖形上下文的所有後續文本操作均使用此字體。

g.setFont(new Font(“Arial”, Font.PLAIN, 14));

//

for (int i = 0; i  charset.length; i++) {

//int speed = rand.nextInt(3);

for (int j = 0; j  colors.length; j++) {

//去掉j只顯示藍色的一個字元  去掉charset[i].length顯示黑屏

int index = (pos[i] + j) % charset[i].length;

// 將此圖形上下文的當前顏色設置為指定顏色。

g.setColor(colors[j]);

//使用此圖形上下文的當前字體和顏色繪製由指定字元數組給定的文本

g.drawChars(charset[i], index, 1, i * 10, index * 10);

}

pos[i] = (pos[i]+2 ) % charset[i].length;

}

}

@Override

public void update(Graphics g) {

paint(g);

}

public void run() {

while (true) {

drawRain();

repaint();

try {

Thread.sleep(50); // 可改變睡眠時間以調節速度

}

catch (InterruptedException e) {

System.out.println(e);

}

}

}

@Override

public void paint(Graphics g) {

// 當組件顯示時檢測是否要創建緩衝圖片,在組件還不可見時調用createImage將返回null

if (offScreen == null) {

offScreen = createImage(width, height);

}

g.drawImage(offScreen, 0, 0, this);

}

}

public class ZFYTest extends JFrame{

private RainCanvas canvas = new RainCanvas(1366, 768);

public ZFYTest() {

super(“ZFY”);

setUndecorated(true);

setExtendedState(JFrame.MAXIMIZED_BOTH);

setVisible(true);

canvas = new RainCanvas(this.getWidth(), this.getHeight()); //canvas = new RainCanvas(800,600);

getContentPane().add(canvas);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

ZFYTest test = new ZFYTest();

test.canvas.startRain();

}

}

java修改文件後綴名

以下程序實現的功能是批量修改文件後綴:

import java.io.*;

/**

* JAVA實現的批量更改文件後綴名的程序。

*

* @author rommnn

*/

public class ExtBatchRename {

/**

* 修改程序。br

* 內部遞歸調用,進行子目錄的更名

*

* @param path

* 路徑

* @param from

* 原始的後綴名,包括那個(.點)

* @param to

* 改名的後綴,也包括那個(.點)

*/

public void reName(String path, String from, String to) {

File f = new File(path);

File[] fs = f.listFiles();

for (int i = 0; i fs.length; ++i) {

File f2 = fs[i];

if (f2.isDirectory()) {

reName(f2.getPath(), from, to);

} else {

String name = f2.getName();

if (name.endsWith(from)) {

f2.renameTo(new File(f2.getParent() + “/” + name.substring(0, name.indexOf(from)) + to));

}

}

}

}

public static void main(String[] args) {

ExtBatchRename rf = new ExtBatchRename();

rf.reName(“d:/”, “.jsp”, “.html”);

}

}

JAVA程序修改

首先,你錯誤的地方呢,就是你的for循環沒有做好,for()後處理一個簡單語句或一個複合語句。簡單語句以「;」結尾,複合語句就是在括弧內的語句集合了。你的for循環在沒結束前就有一個分號。而之後的x[i]=a+i並不會循環。

廢話不說了,給你解釋下為什麼你產生了這個錯誤:

int x[]=new int[101];

定義包含101個int變數的數組,最大下標為100

for(i=0;i=100;i++);

x[i]=a+i;

先說你循環體什麼時候會停止執行呢?就是i不符合i=100既i=101時循環跳出。那麼這時你本該在循環體內的x[i]=a+i再一次使用了i,很明顯x的下標越界了.所以彈出了java.lang.ArrayIndexOutOfBoundsException數組下標越界異常。

另外,你的程序本身有最大的問題你沒有考慮到int變數的取值範圍,這種數據跟一個數到加100這101個數的最小公倍數根本就不是一個數量級的。這要用到大數import java.math.BigInteger。照例代碼貼上:

———————————————Maina.java—————————————–

import java.util.Scanner;

import java.math.BigInteger;

public class Maina {

public static BigInteger gcd(BigInteger x, int y) {

BigInteger m=x;

BigInteger n=new BigInteger(new Integer(y).toString());

//調用使用String類型的構造方法BigInteger(String val),

//這裡 使用int的包裝類Integer將int變數轉型為Sting。

while (true) {

if ((m = m.divideAndRemainder(n)[1]).intValue() == 0)

/*

* m.divideAndRemainder(n)此方法返回一個包含2個BigInteger元

*素的數組,m.divideAndRemainder(n)[0]為商,

* m.divideAndRemainder(n)[1]為餘數。

* m.divideAndRemainder(n)[1]).intValue()調用 BigInteger.intValue()將大數轉為int類型變數。

*/

return x.multiply(new BigInteger(new Integer(y).toString())).divide(n);

//也就是 x*y/n;

if ((n = n.divideAndRemainder(m)[1]).intValue() == 0)

return x.multiply(new BigInteger(new Integer(y).toString())).divide(m);

}

}

public static void main(String args[])

{

int i,j,t;

BigInteger c;

Scanner cin = new Scanner(System.in);

int a = cin.nextInt();

int x[]=new int[101];

for(i=0;ix.length;i++)

x[i]=a+i;

c=new BigInteger(new Integer(x[0]).toString());//只是為gcd方法傳參作準備

for(j=0;jx.length;j++)//由於是求最小公倍數j=0和j=1的效果是一樣的。

c=gcd(c,x[j]);

System.out.println(“最小公倍數:” + c);

}

}

————————————有問題聯繫我百度空間留言或hi即可——————

Java 要實現此功能 代碼應該如何修改?

Connection conn;

try {

Class.forName(“oracle.jdbc.driver.OracleDriver”);

conn = DriverManager.getConnection(“jdbc:oracle:thin:@127.0.0.1:1521:taian”, “hr”, “hr”); //連接Oracle

conn.setAutoCommit(false);

Statement myStat = conn.createStatement();

String sqlTxt = “update BankAccount set account=account-” + this.amount.getText() + ” where accId=” + this.payOut.getText();

System.out.println(“第一步 執行:” + sqlTxt);

//

try {

int affectedRow = myStat.executeUpdate(sqlTxt);

System.out.println(“從匯出方扣減” + this.amount.getText() + “元,修改了” + affectedRow + “行數據.”);

sqlTxt = “update BankAccount set account=account+” + this.amount.getText() + ” where accId=” + this.saveIn.getText();

System.out.println(“第二步 執行:” + sqlTxt);

affectedRow = myStat.executeUpdate(sqlTxt);

System.out.println(“從匯入方增加” + this.amount.getText() + “元,修改了” + affectedRow + “行數據.”);

// 事務成功結束, 提交

conn.commit();

} catch (SQLException sqlEx) {

System.out.println

sqlEx.printStackTrace();

// 事務中斷,整體回滾到事務開始前狀態

conn.rollback();

}

myStat.close();

conn.close();

} catch (Exception ex) {

System.out.println(“反正是出錯了.”);

}

}//

Java-方法-程序修改

void isPrime() {

Scanner scan = new Scanner(System.in);

System.out.print(“input a and b:”);

int a = scan.nextInt(), b = scan.nextInt(), temp;

for(temp = a * b;a % b != 0;a += b,b = (a – (a = b)) % b);

System.out.println(“ouput:” + (temp / b));

}

void isPrime_() {

Scanner scan = new Scanner(System.in);

System.out.print(“input a and b:”);

int a = scan.nextInt(), b = scan.nextInt();

for(;a % b != 0;a += b,b = (a – (a = b)) % b);

System.out.println(“ouput:” + b);

}

核心代碼就一行,功能和你的一樣,望採納

java怎麼修改文件名稱

一般的操作:

File file=new File(“word.txt”);

String filename=new String(“word1.txt”);//更改後的文件名

file.renameTo(filename);//更改文件名操作

判斷是否已經更改文件名:

File file=new File(“word.txt”);

String filename=new String(“word1.txt);

if(file.renameTo(filename)){

System.out.println(“修改文件名成功”);

}else{

System.out.println(“修改文件名失敗”);

}

file是更改文件名之前的文件,可以為絕對路徑或相對路徑:

絕對路徑可表示為:File file=new File(“D:/word.txt”);

相對路徑的根文件夾與src文件夾同級,如File file=new File(“worddir/word.txt”);中的worddir文件夾與src同級

filename是更改文件名之後的文件的文件名(包含後綴)

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/285246.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 15:43
下一篇 2024-12-22 15:43

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論