Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

java:elective:lesson_11_06_13 [04/11/2013 19:44] (текущий)
Николай Баженов создано
Строка 1: Строка 1:
 +====== Занятие 06.11.13 ======
  
 +Рассмотрим следующую задачу:​
 +
 +===== Задача =====
 +
 +Написать программу,​ позволяющую переводить целые положительные числа из десятеричной системы счисления в шестнадцатеричную и обратно.
 +
 +
 +===== Решение =====
 +
 +Создадим класс ''​Notations'',​ методы которого будут осуществлять нужные нам преобразования. Методы в классе будут статическими.
 +
 +<code java>
 +package com.nsunc.wiki.penname;​
 +
 +public class Notations {
 + static String from10to16(int n) {
 + String s = "";​
 + int a = n;
 + int r;
 +
 + do {
 + r = a % 16;
 + a = a / 16;
 + if (r < 9)
 + s = Integer.toString(r) + s;
 + else
 + s = String.valueOf((char) (((int) '​A'​) + r - 10)) + s;
 + } while (a != 0);
 +
 + return s;
 + }
 +
 + static int from16to10(String s) {
 + int n = 0;
 +
 + for (int i = 0; i < s.length(); i++) {
 + if (s.charAt(i) >= '​0'​ && s.charAt(i) <= '​9'​)
 + n = n + ((int) s.charAt(i) - (int) '​0'​)
 + * (int) Math.pow(16,​ s.length() - 1 - i);
 + else if (s.charAt(i) >= '​A'​ && s.charAt(i) <= '​F'​)
 + n = n + ((int) s.charAt(i) - (int) '​A'​ + 10)
 + * (int) Math.pow(16,​ s.length() - 1 - i);
 + else
 + return -1;
 + }
 +
 + return n;
 + }
 +}
 +
 +</​code>​
 +
 +===== Задание =====
 +
 +  - Дописать в классе ''​Notations''​ методы ''​from10to8''​ и ''​from8to10'',​ позволяющие переводить целые положительные числа из десятичной системы счисления в восьмеричную и обратно.
 +  - Придумать и реализовать общие методы,​ позволяющие осуществлять прямой и обратный переводы целых чисел из десятичной системы счисления в систему счисления с произвольным основанием //X// таким, что <​html>​2&​nbsp;&​le;&​nbsp;<​i>​X</​i>&​nbsp;&​le;&​nbsp;​16</​html>​.
 +
 +;#;
 +[[java:​elective|Список занятий]]
 +;#;
CC Attribution-Noncommercial 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0