Я довольно новичок в java, и у меня возникают проблемы с этим проектом для моего класса.Как я могу объединить эти две программы?
В основном я должен написать «Программу Java, чтобы найти значение 45.3 из этого списка = {- 3,10,5,24,45.3,10.5}, используя метод двоичного поиска».
И мой код, который находится здесь:
public class BinarySearch
{
public static final int NOT_FOUND = -1;
public static int binarySearch(Integer[] a, int x)
{
int low=0;
int high = a.length - 1;
int mid;
while (low <= high)
{
mid = (low + high)/2;
if (a[mid].compareTo(x)<0)
low = mid + 1;
else if (a[mid].compareTo(x) > 0)
high = mid - 1;
else
return mid;
}
return NOT_FOUND;
}
public static void main(String[] args)
{
int x = (453/10);
int y = (105/10);
int SIZE = 6;
Integer [] a = {-3, 10, 5, 24, x, y};
System.out.println("45.3 found at " +binarySearch(a, x));
}
}
Однако я понял, что он не был отсортирован, поэтому я использовал простой BubbleSort, что я уже имел и заткнул номера здесь:
class BubbleSort
{
public static void main(String args[])
{
int x = (453/10);
int y = (105/10);
int a[] = {-3, 10, 5, 24, x, y};
int b = a.length;
int c, d, e;
System.out.print("Original Order : ");
for (c = 0; c < b; c++)
{
System.out.print(" " + a[c]);
}
System.out.println("\n");
System.out.print("Ascending Order : ");
for (d=1; d < b; d++)
{
for (c=0; c < b-d; c++)
{
if (a[c] > a[c+1])
{
int f = a[c];
a[c] = a[c+1];
a[c+1] = f;
}
}
}
for(c = 0; c < b; c++)
{
System.out.print(" " + a[c]);
}
}
}
Но в тот момент, когда я нахожусь в этом классе, я понятия не имею, как либо заставить файлы классов работать вместе, либо помещать их все в один файл .java или .class.
Любые советы?
Спасибо!
'Integer' не capabie для хранения' 45.3' и '10.5'. Использование 'BigDecimal' лучше, потому что оно не потеряет точность. – MikeCAT