Как я могу разделить две цифры на две разные строки?

#java

#java

Вопрос:

У меня есть month in, который содержит такое значение, как 12 . Я пытаюсь разделить его на две разные строки, например, a = 1 и b = 2. Как мне это сделать?

Комментарии:

1. С какого типа начинается ваше значение месяца? int ?

2. Дата DATE_OF_REPORT= rs1.getDate(«DATE_OF_REPORT»); Формат даты месяц = новый SimpleDateFormat(«ММ»); Формат даты дата = новый SimpleDateFormat(«дд»); Формат даты год = новый SimpleDateFormat(«гг»);

Ответ №1:

Есть несколько способов сделать это.

 // Working with Strings ------
String str = "12";

// Get char array
char[] chars = str.toCharArray();

// Two substrings
String firstStr = str.substring(0,1);
String secondStr = str.substring(1,2);

// Working with ints ---------
int i = 12;

int firstInt = i / 10;   // Divide
int secondInt = i % 10;  // Modulo
  

Комментарии:

1. я пробовал весь путь, если я попробую так, чтобы выводить как firstSter = j и secondStr =a мне нужны числа 1 и 2

2. Дата DATE_OF_REPORT= rs1.getDate(«DATE_OF_REPORT»); Формат даты месяц = новый SimpleDateFormat(«ММ»);

Ответ №2:

Используйте String.charAt(index) метод для возврата символа и использования Character.toString(char) для его преобразования String .

Комментарии:

1. он не работает, выдавая ошибку или неправильный outputDate DATE_OF_REPORT= rs1.getDate(«DATE_OF_REPORT»); DateFormat месяц = новый SimpleDateFormat(«ММ»);

Ответ №3:

Простейшим способом может быть преобразование его в строку, а затем использование charAt() для чтения символов один за другим.

Звучит как вопрос домашнего задания 🙂

Комментарии:

1. я пробовал весь путь, даже выдавая ошибку или неправильный выводdate DATE_OF_REPORT= rs1.getDate(«DATE_OF_REPORT»); DateFormat месяц = новый SimpleDateFormat(«ММ»);

2. я пробовал все способы сделать это, выдавая ошибку или неправильную дату вывода DATE_OF_REPORT= rs1.getDate(«DATE_OF_REPORT»); DateFormat месяц = новый SimpleDateFormat(«ММ»);

Ответ №4:

 String x = "12";
String[] x_arr= x.split("");
  

ваши символы будут расположены в
x[1]
x[2]
и в конечном итоге вы можете продолжить с индексом, если вы передали более длинную строку (например, год).
Просто избегайте x[0], потому что это пустая строка.

Комментарии:

1. я попробовал этот способ, вот мой формат даты, который мне нужен из этого, пожалуйста, вы можете мне помочь Дата DATE_OF_REPORT= rs1.getDate(«DATE_OF_REPORT»); DateFormat месяц = новый SimpleDateFormat(«ММ»);

2. ты несопоставим, мой друг. прошу прощения

Ответ №5:

String splits[] = "12".split("@?") будет работать.

Комментарии:

1. Дата DATE_OF_REPORT= rs1.getDate(«DATE_OF_REPORT»); Формат даты месяц = новый SimpleDateFormat(«ММ»);

2. Совершенно очевидно, что ваш вопрос сформулирован плохо. Возможно, вы захотите сильно перефразировать это.

Ответ №6:

Используйте :

  str.split("\w. ")
  

Например :

  String[] parts = "12".split("\w. ");
 String a = parts[0]
 Strign b = parts[1]
  

Вы можете посмотреть здесь

http://www.roseindia.net/regularexpressions/splitting-string.shtml

Комментарии:

1. я пробовал весь этот путь, выдавая ошибку или неправильный тип, пожалуйста, помогите мне Date DATE_OF_REPORT= rs1.getDate(«DATE_OF_REPORT»); DateFormat месяц = новый SimpleDateFormat(«ММ»);

Ответ №7:

Попробуйте это:

 String input = "12";
System.out.println(input.charAt(0)); // gives '1'
System.out.println(input.charAt(1)); // gives '2'
  

Кроме того, если вы хотите иметь ‘1’ и ‘2’ в виде строк (а не символов), вы можете сделать это :

 String firstDigit = input.charAt(0)   "";
String secondDigit = input.charAt(1)   "";
  

Удачи!

Konstantin

РЕДАКТИРОВАТЬ: предположим, что ‘month’ является переменной типа java.util.Date. Затем:

 String monthToString = new SimpleDateFormat("MM").format(month);
String firstDigit = monthToString.charAt(0)   "";
String secondDigit = monthToString.charAt(1)   "";
  

Комментарии:

1. System.out.println(«…» месяц. toString().charAt(0)); System.out.println(«…» месяц. toString().charAt(1)); его дают j.. и a ..

2. Это зависит от типа переменной ‘month’. Если это java.util. Дата, тогда вы должны использовать это: new SimpleDateFormat(«MM»).format(месяц).charAt(0) для первого символа месяца. Я отредактировал свое объяснение, так что попробуйте. Теперь все должно работать нормально.

3. Можете ли вы сказать мне, какой тип переменной ‘месяц’?

4. Дата DATE_OF_REPORT= rs1.getDate(«DATE_OF_REPORT»); Формат даты месяц = новый SimpleDateFormat(«ММ»);

5. java.util. Дата или java.sql.Date … или какой-то другой тип даты? Если это java.util. Date или java.sql.Date, это работает здесь, поэтому я предполагаю, что rs1.getDate(..) возвращает какой-то другой тип…

Ответ №8:

Вы можете использовать метод substring класса String .

Существует документация: http://download.oracle.com/javase/1 ,5.0/docs/api/java/lang/String.html#подстрока(int, int)

Алгоритм не сложный 😉