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/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

发表回复

登录后才能评论