java中06的动手动脑

Posted Z鳴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中06的动手动脑相关的知识,希望对你有一定的参考价值。

任务一:

代码:

package Shi;

 

import javax.swing.JOptionPane;

 

public class Shi6d1 {

 

public static void main(String[] args) {

 

int array[] = new int[10];

for(int m=0;m<10;m++)

{array[m] = (int)(Math.random()*100);}

String str="";

for(int m=0;m<10;m++)

{str=str+array[m]+" ";}

int b=0;

for(int m=0;m<10;m++)

{b=b+array[m];}

str=str+"的和为:"+b;

JOptionPane.showMessageDialog(null,str,"",JOptionPane.PLAIN_MESSAGE);

}

 

}

截图:

                                              

思路:

先定义一个长度为10的数组,然后通过for循环逐一随机赋值,然后定义一个int类型变量b求出数组中10个数的和,然后将数组中各个数加上空格赋值给一个String类型的str,在最后加上和,然后通过对话框输出。

程序流程图:

 

动手动脑:

棋盘:

代码:

package Shi;

import java.io.*;

 

public class QiPan

{

//定义一个二维数组来充当棋盘

private String[][] board;

//定义棋盘的大小

private static int BOARD_SIZE = 15;

public void initBoard()

{

//初始化棋盘数组

board = new String[BOARD_SIZE][BOARD_SIZE];

//把每个元素赋为"",用于在控制台画出棋盘

for (int i = 0 ; i < BOARD_SIZE ; i++)

{

for ( int j = 0 ; j < BOARD_SIZE ; j++)

{

board[i][j] = "";

}

}

}

//在控制台输出棋盘的方法

public void printBoard()

{

//打印每个数组元素

for (int i = 0 ; i < BOARD_SIZE ; i++)

{

for ( int j = 0 ; j < BOARD_SIZE ; j++)

{

//打印数组元素后不换行

System.out.print(board[i][j]);

}

//每打印完一行数组元素后输出一个换行符

System.out.print("\\n");

}

}

    public static void main(String[] args)throws Exception

    {

        QiPan gb = new QiPan();

gb.initBoard();

gb.printBoard();

//这是用于获取键盘输入的方法

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String inputStr = null;

                System.out.println("请输入您下棋的座标,应以x,y的格式:");

//br.readLine():每当在键盘上输入一行内容按回车,刚输入的内容将被br读取到。

while ((inputStr = br.readLine()) != null)

{

//将用户输入的字符串以逗号(,)作为分隔符,分隔成2个字符串

String[] posStrArr = inputStr.split(",");

//2个字符串转换成用户下棋的座标

int xPos = Integer.parseInt(posStrArr[0]);

int yPos = Integer.parseInt(posStrArr[1]);

//把对应的数组元素赋为""

gb.board[xPos - 1][yPos - 1] = "";

/*

 电脑随机生成2个整数,作为电脑下棋的座标,赋给board数组。

 还涉及

1.座标的有效性,只能是数字,不能超出棋盘范围

2.如果下的棋的点,不能重复下棋。

3.每次下棋后,需要扫描谁赢了

 */

gb.printBoard();

System.out.println("请输入您下棋的座标,应以x,y的格式:");

}

    }

}

截图:

    

数字转化大写:

代码:

package Shi;

 

import javax.swing.JOptionPane;

 

public class Shi6d2 {

 

public static void main(String[] args) {

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]);}}}

截图:       

   

大数:

代码:

加法

import javax.swing.*;

public class Big {

public static void main(String[] args) {

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 Array;

Import javax.swing.*;

public class Big {

public static void main(String[] args) {

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");

}}

}

}

 

以上是关于java中06的动手动脑的主要内容,如果未能解决你的问题,请参考以下文章

JAVA06数组之动手动脑问题解决

java06-数组动手动脑

06-数组动手动脑问题及课后实验性问题总结

动手动脑06

JAVA中动手动脑

06动手动脑