JAVA_10 ничего интересного 20 апреля 2019 год
////////////////////////////////////////////////////////////////
/*Метод main() вставляет в массив 16 элементов. Метод insert() расставляет их
в порядке сортировки, после чего программа выводит отсортированный массив.
Наконец, метод find() используется для поиска элемента с ключом 27. Пример
вывода:
9 18 27 36 45 54 63 72 81 90 99 108 117 126 135 144
Found 27Рекурсивный двоичный поиск
261
В программе binarySearch.java массив содержит 16 элементов. На рис. 6.9
показано, как метод recFind() этой программы вызывает себя снова и снова для
с ужающегося диапазона. Когда «самая внутренняя» версия метода находит
искомый элемент с ключом 27, она возвращает его индекс 2 (как видно из вы
вода упорядоченного массива). Затем это значение последовательно возвраща-
ется каждой версией recFind() ; наконец, метод find() передает его пользователю
класса.
Рекурсивный двоичный поиск обладает такой же сложностью, как и нерекур-
сивный: O(logN ). Решение выглядит немного элегантнее, но может работать чуть
медленнее.
Чт 18 апр 2019 21:50:51 End На сегодня */
Пт 19 апр 2019 18:12:23
// Сегодня посетил поликлинику 27 Там всё без динамики
http://study-java.ru/uroki-java/urok-11-sortirovka-massiva/
Сортировка массива целых чисел по возрастанию:
помощи метода sort() из класса Arrays. Мария.
/*Метод sort() из класса Arrays использует усовершенствованный алгоритм Быстрой сортировки (Quicksort), который эффективен в большинстве случаев. Для того чтобы отсортировать массив, необходимо написать всего одну строку.
Примечание: в начале файла предварительно нужно подключить библиотеку java.util.
*///
import java.util.*;
Arrays.sort(arr);// где arr это имя массива
//Сортировка массива целых чисел по возрастанию:
//Создаем массив случайных чисел
int arr[] = new int[10];
for(int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random() * 100);
System.out.print(arr[i] + " ");
}
System.out.print("\nSorted: \n");
//Сортируем массив
Arrays.sort(arr);
//Выводим отсортированный массив на консоль.
for(int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
// Сортировка массива целых чисел по убыванию:
//Создаем массив случайных чисел
Integer arr[] = new Integer[10];
for(int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random() * 100);
System.out.print(arr[i] + " ");
}
System.out.print("\nSorted: \n");
//Сортируем массив
Arrays.sort(arr, Collections.reverseOrder());
//Выводим отсортированный массив на консоль.
/*Обратите внимание, что при сортировке массива в обратном порядке (по убыванию) нужно использовать тип Integer[] вместо примитивного типа int[].*/
for(int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
/*В этом примере массив имен сортируется в порядке от А до Я. Для того чтобы отсортировать массив в обратном порядке, необходимо в методе sort() указать Collections.reverseOrder().
Arrays.sort(names, Collections.reverseOrder());
К сожалению, по умолчанию метод sort() сортирует только примитивные типы данных и строки. Как сортировать массив из собственно созданных объектов, будет рассмотрено в следующих уроках, поскольку это требует более углубленных знаний.
*/
https://pastebin.com/ADcGm1F6
public static void main(String args[]) {
// Упражнение 1
{
System.out.println("ORIGINAL:");
int arr[] = new int[20];
for(int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random() * 1000);
System.out.print(arr[i] + " ");
}
System.out.println("\n");
for(int q = 1; q < arr.length; q++){
for (int w = arr.length - 1; w >= q; w--) {
if (arr[w - 1] > arr[w]) {
int tmp = arr[w - 1];
arr[w - 1] = arr[w];
arr[w] = tmp;
}
}
}
System.out.println("SORTED:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println("\n");
}
//Упражнение 2
System.out.println("ORIGINAL:");
String[] names = new String[] {"Buick","Audi","Opel"};
for(int i = 0; i < names.length; i++) {
System.out.print(names[i] + " ");
}
System.out.println("\n");
Arrays.sort(names);
System.out.println("SORTED from A to Z:");
for(int i = 0; i < names.length; i++) {
System.out.print(names[i] + " ");
}
System.out.println("\n");
Arrays.sort(names, Collections.reverseOrder());
System.out.println("SORTED from Z to A:");
for(int q = 0; q < names.length; q++) {
System.out.print(names[q] + " ");
}
}
}
// RAW Paste Data
public static void main(String args[]) {
// Упражнение 1
{
System.out.println("ORIGINAL:");
int arr[] = new int[20];
for(int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random() * 1000);
System.out.print(arr[i] + " ");
}
System.out.println("\n");
for(int q = 1; q < arr.length; q++){
for (int w = arr.length - 1; w >= q; w--) {
if (arr[w - 1] > arr[w]) {
int tmp = arr[w - 1];
arr[w - 1] = arr[w];
arr[w] = tmp;
}
}
}
System.out.println("SORTED:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println("\n");
}
//Упражнение 2
System.out.println("ORIGINAL:");
String[] names = new String[] {"Buick","Audi","Opel"};
for(int i = 0; i < names.length; i++) {
System.out.print(names[i] + " ");
}
System.out.println("\n");
Arrays.sort(names);
System.out.println("SORTED from A to Z:");
for(int i = 0; i < names.length; i++) {
System.out.print(names[i] + " ");
}
System.out.println("\n");
Arrays.sort(names, Collections.reverseOrder());
System.out.println("SORTED from Z to A:");
for(int q = 0; q < names.length; q++) {
System.out.print(names[q] + " ");
}
}
}
// Ошибки : http://qaru.site/questions/4326129/whats-wrong-wit...oken-expected-after-this-token
/*Syntax error on token ";", { expected after this token.
Инициализируйте этот массив внутри конструктора, вы не можете их инициализировать, инициализируя их при объявлении массива или в конструкторе или в блоке инициализации. И исправьте орфографическую ошибку. Посмотрите на этот учебник.
https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html
*/
// Здесь очень по-умному для меня
Но закомментировал
// import java.util.*;
Arrays.sort(arr);// где arr это имя массива
//Сортировка массива целых чисел по возрастанию:
//Создаем массив случайных чисел
int arr[] = new int[10];
for(int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random() * 100);
System.out.print(arr[i] + " ");
}
System.out.print("\nSorted: \n");
//Сортируем массив
Arrays.sort(arr);
//Выводим отсортированный массив на консоль.
for(int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
Осталась одна ошибка
Verstehst du mich ?
Далее, так как непонятно выше по Мария
http://www.nookery.ru/lessons9/
Занятие №9 Массивы.
массив 8.2
type[0]="машинка"; //вносим каждое значение
type[1]="машинка"; //согласно своему индексу
type[2]="машинка";
Создание массива проходит в 3 этапа.
Объявление переменной массива.
Выделения в памяти места для хранения значений элементов массива.
Присваивание переменной массива ссылки значения на массив.
Но как же нам посмотреть что находиться в массиве? Очень просто, можно использовать цикл со счетчиком for и вывести все возможные значения, путем перебора индекса. В этом можете убедится из листинга 8.3.
массив 8.3
package myfirstprogramm;
/**
* @author nookery.ru
*/
public class MyFirstProgramm {
public static void main(String[] args) {
String [] model={"машинка","автобус","грузовик"};
String [] type=new String[3];
type[0]="машинка";
type[1]="автобус";
type[2]="грузовик";
for(int i=0; i<3; i++){
System.out.println(model[i]);
System.out.println(type[i]);
}
}
}
Вывод массива.
Приведенный пример из листинга 8.3 не совсем верный, так как зачастую мы можем и не знать размер массива, что приведет к сбою в работе программы. Для определения размера массива используется свойство lenght. листинг 8.4
//массив 8.4
package myfirstprogramm;
/**
* @author nookery.ru
*/
public class MyFirstProgramm {
public static void main(String[] args) {
String [] type=new String[3];
type[0]="машинка";
type[1]="автобус";
type[2]="грузовик";
for(int i=0; i<type.length; i++){
System.out.println(type[i]);
}
}
}
Изменения массива.
Изменения данных в массиве происходит, путем указания ячейки индекса и присваивается другое значения. листинг 8.5
// массив 8.5
package myfirstprogramm;
/**
* @author nookery.ru
*/
public class MyFirstProgramm {
public static void main(String[] args) {
String [] type=new String[3];
type[0]="машинка";
type[1]="автобус";
type[2]="грузовик";
type[2]="самолет";//присваиваем другое значение
for(int i=0; i<type.length; i++){
System.out.println(type[i]);
}
}
}
/*
В программах часто встречается код сортировки массива. За чем спросите вы он нужен. Представьте у вас есть ряд чисел в значение которых в разброс, не имеет последовательности. Приведу еще пример, допустим у вас есть на работе работники в количестве 1000 человек каждый из которых имеет свою фамилию. Допустим надо найти вам Петрова, представьте сколько имен вам надо перебрать, если они не по алфавиту вписаны. Вот для таких примеров используют, методы сортировки массивов. Методов сортировки множество, мы с вами разберем самые известные, удобные в реализации кода.
Сортировка массива пузырьковым методом.
Суть алгоритма пузырьковым методом, в следующем. Подается массив который от начала до конца сравнивает попарно соседние элементы массива. Если элементы стоят в неверном порядке они меняются местами друг с другом. После первого прохождения массива в начале оказывается максимальное число, если мы использовали метод по убыванию, если по возрастанию соответственно оказывается наименьшее число. Затем проход массива повторяется, до тех пор пока все элементы массива не будут отсортированы. Внизу представлены варианты реализации кода сортировки по убыванию рис .8.6 и возрастанию на рисунке 8.7 */
//пузырьковый метод сортировки по убыванию
package javaapplication119;
/**
* @author nookery.ru
*/
public class JavaApplication119 {
public static void sort(int[] arr) {
//сортировка пузырьковым методом
for (int i = arr.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {// 0< 4
if (arr[j] < arr[j + 1]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
public static void main(String[] args) {
//создаем массив и присваиваем в него значения
int[] a = {2, 3, 8, 4, 9, 6};
//запускаем метод sort();
sort(a);
//Производим вывод массива
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
// сортировка пузырьковым методом по возрастанию
package javaapplication119;
/**
* @author nookery.ru
*/
public class JavaApplication119 {
//сортировка массива по возрастанию
public static void sort(int[] arr){
for(int i = arr.length-1 ; i > 0 ; i--){
for(int j = 0 ; j < i ; j++){
if( arr[j] > arr[j+1] ){
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
}
public static void main(String[] args) {
//Присваиваем по элементарно в массив числа.
int[] a = {2, 3, 8, 4, 9, 6};
//сортируем спомощью метода
sort(a);
//выводим результат
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
рис. 8.7
Сортировка с помощью метода sort() из класса arrays;
Прошли те времена когда программистам вообще нужно думать как реализовать ту или иную идею, все уже сделано, так сказать за нас. Сортировка массивов в этом не исключение. Сейчас мы рассмотрим метод sort();
Сортировка массива Java по возрастанию.
// Сортировка массива с помощью метода sort();
import java.util.Arrays;
/**
* @author nookery.ru
*/
public class ArraySort {
public static void main(String[] args) {
//создаем числовой массив
int[] a = {2, 3, 8, 4, 9, 6};
Arrays.sort(a);
//Выводим результат сортировки
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
// Сортировка массива по убыванию.
import java.util.Arrays;
import java.util.Collections;
/**
* @author nookery.ru
*/
public class ArraySort {
public static void main(String[] args) {
//Тут надо родительский класс указывать Integer
//вместо int Это необходимо для метода reverseOrder();
Integer[] a = {2, 3, 8, 4, 9, 6};
Arrays.sort(a, Collections.reverseOrder());
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
Сортировка по буквам (словам)происходит аналогично, в алфавитном порядке. Достаточно лишь создать массив String [] и вызвать метод Arrays.sort();
Домашнее задание:
Создать массив типа int, вычислить среднее арифметическое значения массива.
Создайте программу, где пользователю предложено ввести 10 раз, разные числа. Программа производит сортировку чисел и выводит их по убыванию в консоль.
Написать программу, которая будет предлагать пользователю ввести текст, вам надо будет разбить ее на слова и поместить в массив, где необходимо преобразовать все строчные буквы в заглавные и вывести результат в консоль.
76
6
5
4
3
3
/////////////////////////////////////////////////////////////
https://javarush.ru/groups/posts/844-kak-praviljhno-delatjh-sortirovku-v-java
Артем23 уровень
23 ноября 2018, 20:03
Спасибо за историю) На работу то устроился в итоге?)
Александр Моцар28 уровень, Минск
27 ноября 2018, 01:54
Самое смешное, что устроился, вроде). Правда после всех интервью мне отказали вначале. В последней конторе сказали, что много еще чего не знаю и за пару недель это не исправишь. А потом через две недели вдруг позвонили и сказали что резко готовы меня взять, правда не в ту команду у которой я собес проходил, а в какую-то другую. В общем как-то странно получилось. В среду должен быть первый день и три месяца испытательного срока.
Поздравляю) А давно занимаешься?
/// Java-online.ru
Java онлайн для разработчиков
Цель проекта – это не только популяризация современного, динамически развивающегося языка программирования Java. Сайт может быть использован как справочное пособие для работающих программистов, а также помочь начинающим в изучении новых для них технологий Java, т.е. играть роль учебного пособия java для начинающих или java с нуля.
Java это не только объектно-ориентированный язык программирования, но и достаточно обширный набор технологий, для описания, обучения онлайн и популяризации которого служит данный сайт.
Структура сайта построена таким образом, чтобы можно было с минимальными затратами найти всю необходимую информацию. Для этого используйте страницу поиска на сайте.
Автор и исполнитель проекта java-online.ru
Пт 19 апр 2019 22:03:28
http://www.cyberforum.ru/java-j2se/thread886891.html
Уж что-то мне подсказывает, что забыли Вы обвернуть этот метод в класс.
public class Demo {
public void dosomething() {
int x;
double y;
x = (int) Math.random();
y = Math.ceil((double) (int) Math.random());
do {
System.out.println(x / y);
} while (x < y);
}
public static void main(String[] args){ // точка входа
// создаем экземпляр класса и вызываем Ваш метод
new Demo().dosomething();
}
}sud
//Demo.class Demo.java
//java Demo
//NaN
// Это ценно !
Сб 20 апр 2019 18:05:28
28 pol. дежурство
Светлана Головкова
22:31 20/04/19
Хотя не всё так печально, удалось найти ресурс, где массивы объяснены для понимания.
дело в том, что там рабочие примеры, создаётся класс, с выводом массива на консоль. И один урок в консоли, что мне кстати.
Далее в IntelliJ IDEA, у меня community. Но этого будет достаточно, да и код можно перепечатать, наверняка будет работать в консоли.
Кто не знает, можно посмотреть здесь : https://habr.com/en/post/125210/
Работа с Java в командной строке
Можно и в одной папке, но принято разносить по двум папкам. Это удобней, чуть-чуть параметры javac другие.
Теперь сделаем тоже самое, но с каталогами. Создадим каталог HelloWorld и в нем две папки src и bin.
Компилируем
javac -d bin src/HelloWorld.java
Здесь мы указали, что бинарные файлы будут сохраняться в отдельную папку bin и не путаться с исходниками.
Запускаем
java -classpath ./bin HelloWorld
Трудовой день закончен. 22:40 20 апреля 2019.