关于javanumarr的信息
本篇文章给大家谈谈javanumarr,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 前提int[] arr=new int[num] for(int i=0;i
- 2、Java求程序代码
- 3、写java程序的问题,急啊,追加分
- 4、java定义一个整型数组将数组中的元素用冒泡排序法升序排序
- 5、java编程用IF语句做的.从键盘输入任意三个整数,用IF条件语句来比效三个数的大小,按大到小的顺序输出。
java 前提int[] arr=new int[num] for(int i=0;i
没区别,但是建议使用for(int i=0;iarr.length;i++)
这更符合规范
Java求程序代码
按照你的要求编写的Java程序如下
import java.util.Scanner;
public class S{
public static void main(String[] args){
int n=5;
int[] a=new int[n];
System.out.print("请输入"+n+"个正整数:");
Scanner sc=new Scanner(System.in);
for(int i=0;in;i++){
a[i]=sc.nextInt();
}
System.out.print("其中的偶数为:");
for(int i=0;in;i++){
if(a[i]%2==0){
System.out.print(a[i]+" ");
}
}
}
}
写java程序的问题,急啊,追加分
//我想吃西瓜
package sort;
import java.util.Scanner;
public class NumArray
{
int A[] =
{ 6, 17, 4, 1, 9, 12, 3, 18 };
// { 7, 16, 5, 2, 9, 13, 4, 19 };
int n = 8;// total count of items
int a = 3;// log(n)/log(2)
int a2d[][] = null;// a 2 dimension array of A
int grpCount = 0;
int subCount = 0;
public void input()
{
Scanner in = new Scanner(System.in);
boolean inputOK = false;
do
{
System.out.println("Please input total no you want to input(eg 2,4,8..):");
this.n = in.nextInt();
double diff = 0d;
diff = Math.log(n) / Math.log(2)
- (int) (Math.log(n) / Math.log(2));
if (diff 0.00001)
{
System.out.println("The input must be 2 power of.(eg 2,4,8..)");
} else
{
inputOK = true;
}
} while (!inputOK);
this.a = (int) (Math.log(this.n) / Math.log(2));
A = new int[this.n];
//System.out.println("this.a=" + this.a);
System.out.println("Please input " + this.n + " integers: ");
for (int i = 0; i this.n; i++)
{
System.out.print(Integer.toString(i + 1) + "");
this.A[i] = in.nextInt();
}
}
public void print()
{
System.out.print("[");
for (int i = 0; i A.length - 1; i++)
System.out.print(Integer.toString(A[i]) + " ");
System.out.print(Integer.toString(A[A.length - 1]) + "]");
System.out.println();
}
public void sort()
{
for (int k = 1; k = a; k++)
{
//System.out.println("k=" + Integer.toString(k));
grpCount = (int) Math.pow(2, this.a - k + 1);
subCount = (int) Math.pow(2, k - 1);
breakArr(k);
int grpCnt2 = this.grpCount / 2;// grounp count /2
//System.out.println("group count /2=" + grpCnt2);
for (int i = 0; i grpCnt2; i++)
{
//System.out.println("i=" + i);
mergeArr(k, i * 2);
//System.out.println("Result after Stage[" + k + "] Group[" + i+ "]");
}
this.print();
}
}
private void breakArr(int k)
{
//System.out.println("Break to [" + grpCount + "][" + subCount + "]");
a2d = null;
a2d = new int[grpCount][subCount];// array of 2 dimension
for (int i = 0; i grpCount; i++)
{
for (int j = 0; j subCount; j++)
{
int idx = i * subCount + j;
a2d[i][j] = A[idx];
//System.out.println("a2d[" + i + "][" + j + "]=" + a2d[i][j]);
}
}
}
private void mergeArr(int kStage, int iGrp)
{
int h = kStage - 1;
int startPos = (int) Math.pow(2, kStage) * iGrp / 2;
//System.out.println("mergeArr.startPos=" + startPos);
int S1[] = null; // 2nd max of big group
int T1[] = null; // 2nd max of small group
int s = 0;// bigest
int t = 0;// 2nd bigest(in another group)
if (h 0)
{
S1 = new int[h];
T1 = new int[h];
}
if (a2d[iGrp][0] a2d[iGrp + 1][0])
{
} else
{
s = a2d[iGrp + 1][0];// bigest
t = a2d[iGrp][0];// 2nd bigest
if (h 0)
{
for (int j = 0; j h; j++)
{
S1[j] = a2d[iGrp + 1][j + 1];// 2nd max of bigest group
T1[j] = a2d[iGrp][j + 1]; // 2nd max of small group
//System.out.println("S1[" + j + "]=" + S1[j]);
//System.out.println("T1[" + j + "]=" + T1[j]);
}
}
/**
* Merge value back to array
*/
// s
A[startPos++] = s;
// S1
for (int i = 0; i h; i++)
{
A[startPos++] = S1[i];
}
// t
A[startPos++] = t;
// T left
if (h 0)
{
for (int i = h + 1; i this.subCount; i++)
{
A[startPos++] = a2d[iGrp][i];
}
}
// T1
for (int i = 0; i h; i++)
{
A[startPos++] = T1[i];
}
// S Left
if (h 0)
{
for (int i = h + 1; i this.subCount; i++)
{
A[startPos++] = a2d[iGrp + 1][i];
}
}
}
}
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
NumArray numArr = new NumArray();
numArr.input();
numArr.print();
numArr.sort();
}
}
java定义一个整型数组将数组中的元素用冒泡排序法升序排序
请看:
/*
* 冒泡排序
*/
public class BubbleSort {
public static void main(String[] args) {
int[] arr={6,3,8,2,9,1};
System.out.println("排序前数组为:");
for(int num:arr){
System.out.print(num+" ");
}
for(int i=0;iarr.length-1;i++){//外层循环控制排序趟数
for(int j=0;jarr.length-1-i;j++){//内层循环控制每一趟排序多少次
if(arr[j]arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.println();
System.out.println("排序后的数组为:");
for(int num:arr){
System.out.print(num+" ");
}
}
}
java编程用IF语句做的.从键盘输入任意三个整数,用IF条件语句来比效三个数的大小,按大到小的顺序输出。
1.读入三个数,存入数组numarr[];2.如果ab,则a,b互换;3.如果ac,则a,c互换;4.如果bc,则b,c互换;5.输出c,b,a;即为从大到小的顺序。代码如下:
import java.io.*;
import java.util.Scanner;
public class compare{
public static void main(String[]args){
System.out.println("Pleaser input three numbers:");
Scanner sr=new Scanner(System.in);
int[]numarr=new int[3];
int temp=0;
for (int i=0;i3;i++){
numarr[i]=sr.nextInt();
}
if (numarr[0]numarr[1]){
temp=numarr[0];
numarr[0]=numarr[1];
numarr[1]=temp;
}
if (numarr[0]numarr[2]){
temp=numarr[0];
numarr[0]=numarr[2];
numarr[2]=temp;
}
if (numarr[1]numarr[2]){
temp=numarr[1];
numarr[1]=numarr[2];
numarr[2]=temp;
}
System.out.println("From big to small is:"+numarr[2]+" "+numarr[1]+" "+numarr[0]);
}
}
关于javanumarr和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-27,除非注明,否则均为
原创文章,转载请注明出处。