Лабораторная работа №1
Лабораторная работа №1 Основы языка Java
Задание на лабораторную работу
1. Разработать метод поиска наибольшего общего делителя двух чисел 2. Разработать метод сравнения двух строк по набору составляющих их символов (т.е., например, строки «abcd» и «bcad» считать равными, а «abcd» и «abce» - нет) 3. Реализовать класс, включающий два вышеуказанных метода и приложение, реализующее их выполнение.
Примечания
Структура программы на Java
package hello; //имя пакета
/* Импорт необходиых библиотек. Для операций ввода-вывода необходимо импортировать пакет java.io */ import java.io.*;
public class HelloWorld { /* Методы, реализующие операции ввода-вывода, должны заканчиваться инструкцией throws IOException */ public static void main(String[] args) throws IOException{ System.out.println("Hello, world"); doNothing(); //вызов метода данного класса }
// Описание метода класса. Данный метод ничего не делает void doNothing() { } }
Строки в Java являются объектами класса String. Все действия над строками выполняются методами этого класса. Несколько примеров: String str = "abcde"; int len = str.length(); //возвращает длину строки char firstChar = str.charAt(0); //возвращает первый символ
Для ввода с клавиатуры желательно не использовать поток System.in напрямую, а "обернуть” его в класс BufferedReader BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
// Ввод целого числа System.out.print("Введите число: "); int number = Integer.decode(br.readLine()); System.out.println("Вы ввели " + number);
// Ввод строки System.out.print("Введите строку: "); String str = br.readLine(); System.out.println("Вы ввели " + str);
Решение public class Function { public void NOD (int A, int B) { int i, c=0,j=0,count=0; if (A>=B) c = A; if (B>=A) c = B; for (i=1;i<=c;i++) { j = B % i; if (j==0) { j = A % i; if (j==0) { count = i; } } } System.out.println("НОД: " + count); } public void Sravnenie (String Str1, String Str2) { int i, j, countS1=0,countS2=0; if (Str1.length() == Str2.length()) { for (i = 0; i < Str1.length(); i++) { //countS1 = 0; //countS2 = 0; for (j = 0; j < Str1.length(); j++) { if (Str1.charAt(i) == Str1.charAt(j)) { countS1++; } } for (j = 0; j < Str2.length(); j++) { if (Str1.charAt(i) == Str2.charAt(j)) { countS2++; } } if (countS1 != countS2) { System.out.println("Строки не равны."); return; } } } if (Str1.length() != Str2.length()) { System.out.println("Строки не совпадают по длине."); return; } System.out.println("Строки равны."); } }
import java.io.*; public class Laba1 { public static void main(String[] args)throws IOException { int A, B; BufferedReader Txt=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Введите первое число: "); A = Integer.decode(Txt.readLine()); System.out.print("Введите второе число: "); B = Integer.decode(Txt.readLine()); Function Func = new Function(); Func.NOD ( A , B); } }
import java.io.*; public class Laba2 { public static void main(String[] args)throws IOException { String Str1, Str2; BufferedReader Txt=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Введите первую строку: "); Str1 = Txt.readLine(); System.out.print("Введите вторую строку: "); Str2 = Txt.readLine(); Function Func = new Function(); Func.Sravnenie (Str1, Str2); } }
|