2015-02-25 2 views
0

Итак, вот что, я должен прочитать документ и импортировать некоторые данные. Линия в документе выглядит так: «A 0 2 5 20 23 25.» (.текст).(Новичок) Как нарисовать простой график?

Я могу написать метод, который находит эту строку и значения, но моя проблема состоит в том, чтобы нарисовать фактический график со значениями. X графика будет фиксировано на 10 между каждым значением, а значения в файле соответствуют Y. Я хочу придумать метод, который принимает первый Y (0), и Рисует прямую линию к следующему Y (2) и от 2-5 и т. д. Я этого не делаю, мой метод только рисует линию от 0-2 и 5-20 и 23-25. Книга еще не говорила о массиве, поэтому я должен делать это без массивов, я стараюсь делать это, когда читаю файл, но ..

Вот немного моего кода в любом случае, какие-нибудь советы? Высокую оценку

public static void drawGraph(String letter, Scanner input, Graphics g){ 
    while (input.hasNextLine()){ 
    int x = 1; 
    String text = input.nextLine(); 
    Scanner data = new Scanner(text); 
    String foundLetter = data.next();  
    if(foundLetter.equalsIgnoreCase(letter)){ 
     while(data.hasNextInt()){     
      int count = data.nextInt(); 
      //This is where I get Stuck 

      g.drawLine((x-1)*10, y1, 10*x); 
      x++; 

      } 

    } 
    } 

}

Я сделал шаблон drawingpanel для участка разделенной на секции 10 по

Спасибо,

+0

Там, кажется, не хватает какой-то код в вашем примере (что y1, где COUNT используется ...) – fxm

+0

у1 лишь пережиток от одного из моих попыток решить его – Razoll

ответ

0

Вы должны запомнить последнее значение у, то нарисовать линию от (x-1, последний y) до (x, y).

int lastY = data.nextInt(); 
while (data.hasNextInt()) {     
    int nextY = data.nextInt(); 
    g.drawLine((x-1)*10, lastY, 10*x, nextY); 
    x++; 
    lastY = nextY; 
} 
+0

Спасибо. Да, это то, что я понял, что я должен сделать, но я использовал цикл for, но это тоже работает, спасибо! – Razoll

Смежные вопросы