java for加大括号和不加有什么区别,具体如下。
输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出...
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。
import java.util.Scanner;
public class Test60004{
public static void main(String []args){
int ri, repeat;
int i, index, n, t,a[];
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
a=new int[n];
for(i=0; i<n; i++)
a[i]=in.nextInt();
index=0;
for(i=0;i<n;i++)
if(a[i]<a[index])index=i;
t=a[index];a[index]=a[0];a[0]=t;
index=0;
for(i=0;i<n;i++)
if(a[i]>a[index])index=i;
t=a[index];a[index]=a[n-1];a[n-1]=t;
for(i=0; i<n; i++)
System.out.print(a[i]+" ");
System.out.println();
}
}
}
以上代码运行正常,但是当我在 第一个for(i=0; i<n; i++)之后加了大括号之后运行出来就不对了,请问这是为什么呢?如果for不加大括号的话,程序不是会一直运行到最后面吗?
求大神解答!! 展开
输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。
import java.util.Scanner;
public class Test60004{
public static void main(String []args){
int ri, repeat;
int i, index, n, t,a[];
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
a=new int[n];
for(i=0; i<n; i++)
a[i]=in.nextInt();
index=0;
for(i=0;i<n;i++)
if(a[i]<a[index])index=i;
t=a[index];a[index]=a[0];a[0]=t;
index=0;
for(i=0;i<n;i++)
if(a[i]>a[index])index=i;
t=a[index];a[index]=a[n-1];a[n-1]=t;
for(i=0; i<n; i++)
System.out.print(a[i]+" ");
System.out.println();
}
}
}
以上代码运行正常,但是当我在 第一个for(i=0; i<n; i++)之后加了大括号之后运行出来就不对了,请问这是为什么呢?如果for不加大括号的话,程序不是会一直运行到最后面吗?
求大神解答!! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询