2017-01-22 3 views
-1

Как создать конструктор, который имеет цикл for, который проходит или анализирует строку. затем преобразуйте строковые символы в целые числа, а затем сохраните их в arraylist. например, если число «500» должно быть 5 0 0, причем каждая цифра является блоком arraylist.Java-конструктор, который анализирует строку a, преобразует ее в int

Вот код, который у меня есть до сих пор;

import java.util.Scanner; 
import java.util.ArrayList; 

public class BigInt { 

    private String BigInt; 

    private boolean pos; 
    private boolean neg; 

    private ArrayList<Integer> bigNum = new ArrayList<Integer>(); 
    public BigInt(String b1){ 
     b1 = ""; 
     for(Integer num : bigNum){  
     } 
     //in a for loop if integer put into the array list 
    } 
    public boolean sign(boolean a, boolean b){ 
     a = false; 
     b = true; 
     return false; 
    } 
    public String toString(){ 
     //check if boolean is + or - set that as the first character in the string 
     //if(string - == first character) 
     return BigInt; 
    } 
} 
+0

коррекции я хочу сказать, хранить его в список массива. –

+2

Почему вы устанавливаете 'b1 =" "', в чем цель этого? – nikowis

+4

Я действительно думаю, вам нужно приложить немного больше усилий в тело этого цикла. Это похоже на схему, которую дал вам ваш учитель. – markspace

ответ

0

Одна вещь, которую вы можете сделать, это использовать/и%, чтобы разбить большие числа. Что-то вроде этого

while (a > 10) { 
    arrayList.insert(0, a % 10) 
    a /= 10; 
} 
+0

Что такое 'a' в их коде? –

+0

a - это исходное число, которое уже было преобразовано в целое число, скажем 500 – Hailey

+0

. Пожалуйста, включите это в свой ответ. –

0

Может что-то вроде этого?

int num, index; 
num = Integer.parseInt(b1); 
index = 0; 

while (num >= 0) 
{ 
    arrayList.insert(index, num % 10); 
    num = num/10; 
    index = index + 1; 
} 
+0

спасибо, что нашли время ответить –

0

Как вы создаете цикл, который проходит через или анализирует строку. затем преобразовать символы строки в целое число

int x = Integer.valueOf(BigInt); 

затем сохранить его в ArrayList

for (int i = 0; i < BigInt.length(); i++) 
    { 
     BigNum.add(BigInt.charAt(i) - '0'); 
    } 
+0

Мне очень жаль забыть об этом, но как вы реализуете это в своем конструкторе. и большое спасибо за то, что вы нашли время ответить. –

+0

Вы буквально скопируете этот код в свой конструктор. Возможно, вам нужно назначить 'BigInt = b1' в качестве первой строки. Я не могу сделать домашнее задание для вас. – selbie

+0

уверен, что без проблем спасибо за помощь. –