重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Java创建int数组,将最大值与最小值位置交换输出,代码以及截图如下:
创新互联长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为宝清企业提供专业的网站设计、成都网站设计,宝清网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
int[] num = new int[] { 2, 1, 3, 4, 5 };
int[] temp = new int[num.length];//临时数组 创建是为了重新排序比较大小时不影响原数组顺序
for (int i = 0; i num.length; i++) {
temp[i] = num[i];
}
Arrays.sort(temp);//升序排序
int min = temp[0];//最小值
int max = temp[temp.length - 1];//最大值
for (int i : num) {
//逻辑判断,如果是最小值,输出最大值,否则,相反。
if (i == min) {
System.out.println(max);
} else if (i == max) {
System.out.println(min);
} else {
System.out.println(i);
}
}
}
}
运行示例:
一般人都会用for循环来遍历整个数组,然后挨个输出
例如:
int[] a = {1,2,3,4,5};
要将数组a打印出来,就是
for(int i = 0;ia.length;i++){
System.out.println(a[i]);
}
这样就会挨个输出数组
但是还有一个方法,知道的人不多,就是Array.toString(a);
只需要 System.out.println(Array.toString(a));
就会打印出[1,2,3,4,5]这种形式。
import java.util.Arrays;
public class Testt{
public static void main(String[]args){
int a[]={32,54,65,3,5,1,75,8,545};
for(int i=0;ia.length;i++){
for(int j=i+1;ja.length;j++){
if(a[i]a[j]){
int k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
System.out.println(Arrays.toString(a));
}
}
//把输出放到FOR循坏外面,不然每循环一次就会输出一次。
java中有两种常用的输出:System.out.printstring)和 System.out.println( string ),区别在于后者输出字符串后会自动换到下一行,而前者不会。
你的程序,在内层for循环中,没有if语句判断是否需要换行,所以输入语句为非条件的,也就是说,如果用print就都是横的,如果用println就都是竖的。
修改方法:
添加if语句。(从原文中 if(Value[j]==null){ 开始替换 )
if ( Value[j] != null ) {
if (j == Value.length - 1 || Value[j+1] == null) {
System.out.println(Value[j]+"\t\t");
}
else {
System.out.print(Value[j]+"\t\t");
}
}
else {
break;
}
如果有什么没有表述清楚的,欢迎追问。