Как найти количество токенов в строке в приведенной ниже программе, а затем
Мне нужно добавить два целочисленных массива с использованием Java, так как я более знаком с php, это немного сложно для меня. Также я получаю информацию из текстового файла. Следовательно, вот как у меня есть моя программа до сих пор.
Входной файл будет иметь несколько строк, как это
3736 17234 29823 84478 123745 2371 34237 823712
import java.io.*;
import java.util.*;
public class Sum {
//must use a constant for the length of the array
static int[] total= new int[25];
static int[] val = new int[25];
static int line= 0;
static int word =0;
public static void main(String[] args) throws FileNotFoundException {
Scanner input = new Scanner(new File("Input.txt"));
// System.out.println("0");
processFile(input);
}
public static void processFile(Scanner input) {
//in this method you need to read your input file
//. read one line at a time and call the method processLine to
while (input.hasNextLine())
{
line++;
String line = input.nextLine();
Scanner lineScan = new Scanner(line);
//System.out.println("1");
processLine(input);
//System.out.println(line);
}
}
public static void processLine(Scanner data) {
//in this method you read tokens from line that has been passed to
// this methd as the parameter. method transfer needs to be called to
// transfer each token into an array of length DIGITS. Note that in a
// line you might only have one token
while(data.hasNext())
{
String x = data.next();
//System.out.println("2");
transfer(x,val);
}
}
public static void transfer(String data, int[] digits) {
//This method transfer the string into array of integers value.
int len = data.length();
int n=24;
for(int i=0;i<=n;i++)
digits[i]=0;
//System.out.println("3");
while(len>0)
{
// System.out.println(data.charAt(len-1));
char z=data.charAt(len-1);
int d = Character.digit (z, 10);
digits[n]=d ;
len=len-1;
n=n-1;
}
for(int i=0;i<=n;i++)
digits[i]=0;
for(int i=0;i<25;i++)
{
//System.out.println(digits[i]);
}
System.out.println("\n");
add(digits);
}
public static void add(int[] digits) {
word++;
if (word>1)
{
for(int i=0; i<= 4; i++)
{
total= total[i]+digits[i];
}
}
if(word==0)
total=digits;
}
public static void print(int[] digits) {
//For printing
}
}