Почему существует бесконечное число элементов, которые можно ввести для значения x в приведенной ниже программе ?
import java.io.*; import java.util.Scanner; class String2 { public static void Vowels() { Scanner scan=new Scanner(System.in); System.out.println("Enter the number of elements in the array :"); int n=scan.nextInt(); int a[]=new int[n]; System.out.println("Enter the elements of the array :"); for(int i=0;i<=n-1;i++) { a[i]=scan.nextInt(); } System.out.println("Enter the element be searched :"); int x=scan.nextInt();//here instead of the compiler allowing to enter only one value it is allowing to enter infinite number of values int lb=0,ub=n-1; int pos=0; while(ub>0) { int mid=(lb+ub)/2; if(a[mid]<x) { lb=mid-1; } if(a[mid]==x) { pos=mid+1; } if(a[mid]>x) { ub=mid+1; } } if(pos==0) { System.out.println("Search element not found "); } else { System.out.println(x+"is found at the position :"+pos); } } public static void main(String[]args) { Vowels(); } }
Что я уже пробовал:
Приведенный выше код-это то, что я пробовал.