刚学java不久,遇到PTA上的一道题

输入N个整数,并输出指定的某个整数在这N个整数中的按照由小到大的顺序排列的位次
输出位次为1-N,若输入的整数不在该序列中,输出-1。(我的思路还和使用C语言类似)

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
    Scanner sc=new Scanner (System.in);
     int c=0;
int n=sc.nextInt();
int m=sc.nextInt();
int temp = 0;
int a[]=new int[n];
  for(int i=0;i<a.length;i++){
    a[i]=sc.nextInt();  
  }
  for(int j=0;j<a.length;j++)
  {
      for (int k=j+1;k<a.length;k++){
          if(a[j]>a[k])
          {
              temp=a[j];
              a[j]=a[k];
              a[k]=temp;
          }
      }
  }
int flag=0;
 
 for(c=0;c<n;c++)
 {
     flag++;
     if(m==a[c])
     {
         System.out.printf("%d",flag);
         break;
     }
 }

     
 if(c==n)
 {
     System.out.println(-1);
 }
 }
}

这样只有部分正确,请问一下错在了哪里
(最好只修改一下循环部分,不要用一些Java定义好的方法,否则我刚学可能看不懂,望体谅)
第一次在CSDN提问 QWQ

应该没错

我觉得排序那一块没问题啊,我又单独写了一个排序的

import java.util.Scanner;
public class sort {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int a[]=new int [n];
    int i=0;
    for(i=0;i<n;i++)
    {
         a[i]=sc.nextInt();// 读取单个int型数据(循环)
    }
    int temp=0;
    int j=0,k=0;
       for(j=0;j<n;j++)
       {
           for(k=j+1;k<n;k++)
           {
               if(a[j]>a[k])
               {
                   temp=a[j];
                   a[j]=a[k];
                   a[k]=temp;
               }
           }
       }
       for(int m=0;m<n;m++)
       {
           System.out.printf("%d",a[m]);
       }
     
    }

}


我自己觉得应该是遍历后面有问题。