数组归档

 

 

动手动脑

1、[Ljava.lang.Object;@2a139a55;

    之前表示的数组类型,@之后的一串数字表示的是具体地址。

应该通过下标访问数组元素

2、数组元素的引用

引用传递数组元素时,会直接修改数组元素值,而值传递则是产生一个拷贝,并不会修改值

3、转换大写

package Ckm;

import javax.swing.*;

public class Daxiezhuanhuan {

public static void main(String[] args) {

// TODO 自动生成的方法存根

String as=JOptionPane.showInputDialog("输入数字");

double number=Double.parseDouble(as);

number=number*100;  

int n=0,num=(int)number; //分后全部舍弃

int array[]=new int[9];

for(int i=0;i<10;i++){

if(num==0)

break;

array[i]=num%10;

num=num/10;

n++;

}

String str[]={"","","","","","","","",""};

String str1[]={"","","","","","","","","",""};

for(int i=n-1;i>=0;i--){

System.out.print(str1[array[i]]);

System.out.print(str[i]);

}

}

}

 

4、大数字实现

加法运算

package Ckm;

import javax.swing.*;

public class Jia {

public static void main(String[] args) {

// TODO 自动生成的方法存根

String num1=JOptionPane.showInputDialog("第一个数字");

String num2=JOptionPane.showInputDialog("第二个数字");

int nu1[]=new int[10];

int nu2[]=new int[10];

int nu3[]=new int[10];

int j=0;

for(int i=num1.length()-1;i>=0;i--){

nu1[j++]=num1.charAt(i)-'0';

}

j=0;

for(int i=num2.length()-1;i>=0;i--){

nu2[j++]=num2.charAt(i)-'0';

}

int next=0;

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

nu3[i]=(nu1[i]+nu2[i]+next)%10;

next=(nu1[i]+nu2[i]+next)/10;

}

for(int i=nu3.length-1;i>=0;i--){

System.out.print(nu3[i]);

}

}

 

}

减法运算:

package Ckm;

import javax.swing.*;

public class Jian {

public static void main(String[] args) {

// TODO 自动生成的方法存根

String num1=JOptionPane.showInputDialog("第一个数字");

String num2=JOptionPane.showInputDialog("第二个数字");

int nu1[]=new int[10];

int nu2[]=new int[10];

int nu3[]=new int[10];

int j=0;

for(int i=num1.length()-1;i>=0;i--){

nu1[j++]=num1.charAt(i)-'0';

}

j=0;

for(int i=num2.length()-1;i>=0;i--){

nu2[j++]=num2.charAt(i)-'0';

}

//两数字比较大小

int flag=0;

for(int i=nu1.length-1;i>=0;i--){

if(nu1[i]>nu2[i]){

flag=1;break;//1表示1数字大

}

if(nu1[i]<nu2[i]){

flag=2;break;//2表示2数字大

}

}

int next=0;

if(flag==1){

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

nu3[i]=nu1[i]-nu2[i]+next;

if(nu3[i]<0){

next=-1;

nu3[i]=nu3[i]+10;

}

else

next=0;

 

}

for(int i=nu3.length-1;i>=0;i--){

System.out.print(nu3[i]);

}}

if(flag==2){

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

nu3[i]=nu2[i]-nu1[i]+next;

if(nu3[i]<0){

next=-1;

nu3[i]=nu3[i]+10;

}

else

next=0;

 

}

System.out.print("-");

for(int i=nu3.length-1;i>=0;i--){

System.out.print(nu3[i]);

}

if(flag==0){

System.out.println("0");

}}

}

 

}

程序设计

1、设计思想

使用random类,生成10个随机数进行赋值,最后使用for循环求值

2、程序源代码:

package Array;

import javax.swing.*;

import java.util.*;

 

public class qwer {

public static void main(String[] args){

Random as=new Random();

int array[]=new int[10];

int num=0;

String str="随机数为:";

for(int i=0;i<10;i++){

//生成随机数

array[i]=as.nextInt();

str=str+'\n'+array[i];

num=num+array[i];

}

JTextArea text=new JTextArea(str);

JOptionPane.showConfirmDialog(null, text);

JOptionPane.showConfirmDialog(null, "总和为\n"+num);

}

 

}

3、编程总结

学到一个JTextArea的类;

复习了random类;

程序中由于生成的为随机数字,加和会超过上限,可以加以限制。

4、结果截图

大写汉字转换:

 

大数字加法:

大数字减法:

随机数:

 

 

posted @ 2016-11-06 21:12  Left涅槃  阅读(241)  评论(0编辑  收藏  举报